@Component({
selector: 'demo-app',
styles: [
'todo-app { margin-top: 20px; margin-left: 20px; }'
],
template: "
<content>
<todo-app>
<app-footer>
<small>Yet another todo app!</small>
</app-footer>
</todo-app>
</content>
"
})
export class AppComponent {}
****************
//todo-app-comp
{
@Component(...)
class TodoAppComponent implements AfterContentInit {
@ContentChild(FooterComponent) footer: FooterComponent
ngAfterContentInit() { this.footer now points to the instance of "FooterComponent"
}
}
}
`В приведенном выше фрагменте мы определяем еще два компонента: FooterComponent и AppComponent. FooterComponent визуализирует весь контент, передаваемый между открывающим и закрывающим тегами своего хост-элемента (контент, который будет проецироваться). С другой стороны, AppComponent использует TodoAppComponent и передает FooterComponent между его открывающим и закрывающим тегами. Исходя из нашей терминологии, приведенной выше, FooterComponent является потомком содержимого TodoAppComponent. Мы можем получить к нему доступ следующим образом:
Теперь мой вопрос здесь. почему мы просто не использовали ViewChild в компоненте todo-app для доступа к intest app-fotter? `