Host class
Specifies that an injector should retrieve a dependency from any injector until reaching the closest host.
In Angular, a component element is automatically declared as a host for all the injectors in its view.
Example
In the following example App contains ParentCmp, which contains
ChildDirective. So ParentCmp is the host of ChildDirective.
ChildDirective depends on two services: HostService and OtherService.
HostService is defined at ParentCmp, and OtherService is defined at
App.
class OtherService {}
class HostService {}
@Directive(
selector: 'child-directive'
)
class ChildDirective {
ChildDirective(
@Optional() @Host() OtherService os,
@Optional() @Host() HostService hs) {
print("os is null", os);
print("hs is NOT null", hs);
}
}
@Component(
selector: 'parent-cmp',
providers: const [HostService],
template: '''
Dir: <child-directive></child-directive>
''',
directives: const [ChildDirective]
)
class ParentCmp {}
@Component(
selector: 'app',
providers: const [OtherService],
template: '''
Parent: <parent-cmp></parent-cmp>
''',
directives: const [ParentCmp]
)
class App {}
bootstrap(App);
- Annotations
-
- @Target.new({TargetKind.parameter})
Constructors
- Host()
-
const
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited