• Overview
@angular/core

Host

decorator

Parameter decorator on a view-provider parameter of a class constructor that tells the DI framework to resolve the view by checking injectors of child elements, and stop when reaching the host element of the current component.

API

  
    @Host ({})
  
  

Usage Notes

The following shows use with the @Optional decorator, and allows for a null result.

          
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 {}

For an extended example, see "Dependency Injection Guide".

Jump to details