Host
decorator
stable
npm Package | @angular/core |
---|---|
Module | import { Host } from '@angular/core'; |
Source | core/src/di/metadata.ts |
How To Use
@Injectable() class Car { constructor(@Host() public engine:Engine) {} }
Description
For more details, see the "Dependency Injection Guide".
Example
class OtherService {} class HostService {} @Directive({selector: 'child-directive'}) 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>', }) class ParentCmp { } @Component({ selector: 'app', viewProviders: [OtherService], template: '<parent-cmp></parent-cmp>', }) class App { }
© 2010–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v5.angular.io/api/core/Host