Spec-Zone.ru › Angular

SkipSelf

Декоратор параметра, используемый для параметров конструктора. Он указывает фреймворку внедрения зависимостей начинать разрешение зависимости с родительского инжектора. Разрешение выполняется вверх по иерархии инжекторов, поэтому локальный инжектор не проверяется на наличие провайдера.

Руководство по внедрению зависимостейSelfOptional

API

@ SkipSelf {}

Примечания по использованию

В следующем примере зависимость можно разрешить при создании экземпляра дочернего класса, но не при создании экземпляра самого класса.

class Dependency {}

        @Injectable()
        class NeedsDependency {
          constructor(@SkipSelf() public dependency: Dependency) {}
        }

        const parent = Injector.create({providers: [{provide: Dependency, deps: []}]});
        const child = Injector.create({
          providers: [{provide: NeedsDependency, deps: [Dependency]}],
          parent,
        });
        expect(child.get(NeedsDependency).dependency instanceof Dependency).toBe(true);

        const inj = Injector.create({
          providers: [{provide: NeedsDependency, deps: [[new Self(), Dependency]]}],
        });
        expect(() => inj.get(NeedsDependency)).toThrowError();

Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/core/SkipSelf

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API