![](/img/trans.png)
[英]@ViewChildren(TemplateRef) is undefined for <template> elements
[英]ViewChildren undefined on MatTabNavBar revisit
我有一个要求,其中我使用 MatTabNavBar 在我的屏幕上显示菜单。 在我的第一个菜单上,我尝试加载一个具有 ViewChildren 的组件。 在初始加载时,这可以正常工作,但是一旦用户尝试导航到其他菜单而不是尝试重新访问第一个菜单,它就无法初始化 ViewChildren。
任何帮助,将不胜感激。
我知道这个问题已经很老了,但以防万一其他人遇到这个问题,我会发布我找到的解决方案。
这对我有用:
ngAfterViewInit() {
if (this.queryList.first) {
console.log(this.queryList.first);
} else {
this.queryList.changes.subscribe(() => {
console.log(this.queryList.first);
});
}
}
其中queryList
定义如下:
@ViewChildren(/* selector */)
queryList: QueryList</* component type */>;
在初始加载时, queryList
在进入ngAfterViewInit
时将为空,并在this.queryList.changes
被触发后设置。
在随后的负载, this.queryList.changes
不会再次因某种原因被触发,但是queryList.first
定义,可以在立即使用ngAfterViewInit
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.