@ViewChild
is a decorator function that takes the name of a component class as its input and finds its selector in the template of the containing component to bind to. @ViewChild
can also be passed a template reference variable.AlertComponent
to its selector <app-alert>
and assign it to the property alert
. This allows us to gain access to class methods, like show()
.@Input()
. However, it might be a useful construct in keeping things generic.@ViewChildren
. It collects a list of instances of the Alert component, stored in a QueryList object that behaves similar to an array.@ViewChild
and @ViewChildren
a child component or a list of children component are selected respectively using their selector from the template. In addition both @ViewChild
and @ViewChildren
can be passed a selector string:ngAfterViewInit
lifecycle hook is called.@ContentChild
and @ContentChildren
work the same way as the equivalent @ViewChild
and @ViewChildren
, however, the key difference is that @ContentChild
and @ContentChildren
select from the projected content within the component.ngAfterContentInit
component lifecycle hook.