来自官方documentation。一个ViewChild
:
Configures a view query.
View queries are set before the ngAfterViewInit callback is called.
解释很少,我仍然不太明白它的用途。
考虑一下我发现的博客中的example。
删除
@ViewChild(TodoInputCmp)
对TodoInputCmp
中的代码没有影响有人可以给我一些见识吗?
谢谢
最佳答案
它提供了对 View 中元素或组件的引用:
@Component({
...
directives: [SomeComponent],
template: `
<div><span #myVar>xxx</span><div>
<some-comp></some-comp>`
})
class MyComponent {
@ViewChild('myVar') myVar:ElementRef;
@ViewChild(SomeComponent) someComponent:SomeComponent;
ngAfterViewInit() {
console.log(this.myVar.nativeElement.innerHTML);
console.log(this.someComponent);
}
}
重要:在ngAfterViewInit()
之前未初始化变量