【发布时间】:2018-01-31 19:53:31
【问题描述】:
我正在尝试使用以下代码获取自定义书面组件的子代:
@Component({
selector: 'custom-comp',
templateUrl: '<div class='child1'></div><div class='child2'></div>',
styleUrls: ['./custom-comp.component.scss']
})
@Component({
selector: 'comp',
templateUrl: '<#custom-comp custom-comp></custom-comp>',
styleUrls: ['./custom-comp.component.scss']
})
@ViewChild('custom-comp') custom-comp: ElementRef;
ngOnInit(){
console.log(this.custom-comp.nativeElement.children);
}
它返回此错误: 无法读取未定义的属性“孩子”
结论是这种方法仅适用于原生 HTML 元素,我如何为自定义组件做到这一点?谢谢 !
【问题讨论】:
-
您需要将日志从
ngOnInit移动到ngAfterViewInit。ViewChild修饰的属性在视图初始化之前是不可靠的。
标签: angular angular2-template angular2-directives