繁体   English   中英

重新访问 MatTabNavBar 上未定义的 ViewChildren

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM