Spec-Zone.ru › Angular

Self

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

SkipSelfOptional

API

@ Self {}

Описание

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

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

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

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

class Dependency {}

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

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

        expect(nd.dependency instanceof Dependency).toBe(true);

        const child = Injector.create({
          providers: [{provide: NeedsDependency, deps: [[new Self(), Dependency]]}],
          parent: inj,
        });
        expect(() => child.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/Self

Spec-Zone.ru

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