Host
Декоратор параметра для параметра-провайдера представления в конструкторе класса, который указывает фреймворку DI разрешать представление, проверяя инжекторы дочерних элементов, и останавливаться при достижении хост-элемента текущего компонента.
API
@Host {}
Примечания по использованию
Ниже показано использование с декоратором @Optional, которое позволяет получить результат null.
class OtherService {}
class HostService {}
@Directive({
selector: 'child-directive',
standalone: false,
})
class ChildDirective {
logs: string[] = [];
constructor(@Optional() @Host() os: OtherService, @Optional() @Host() hs: HostService) {
// os is null: true
this.logs.push(`os is null: ${os === null}`);
// hs is an instance of HostService: true
this.logs.push(`hs is an instance of HostService: ${hs instanceof HostService}`);
}
}
@Component({
selector: 'parent-cmp',
viewProviders: [HostService],
template: '<child-directive></child-directive>',
standalone: false,
})
class ParentCmp {}
@Component({
selector: 'app',
viewProviders: [OtherService],
template: '<parent-cmp></parent-cmp>',
standalone: false,
})
class App {}
Расширенный пример см. в «Руководстве по внедрению зависимостей».
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/Host