Angular 孩子们赢了';在查询RouterLink和RouterLink with href时,请不要加载任何数据
我试图创建一个行为与指令类似的 因此,我实现了这个示例,并添加了来自Angular的部分,其中它通过decorator获得子对象Angular 孩子们赢了';在查询RouterLink和RouterLink with href时,请不要加载任何数据,angular,typescript,Angular,Typescript,我试图创建一个行为与指令类似的 因此,我实现了这个示例,并添加了来自Angular的部分,其中它通过decorator获得子对象 // TODO(issue/24571): remove '!'. @ContentChildren(RouterLink, { descendants: true }) links !: QueryList<RouterLink>; // TODO(issue/24571): remove '!'. @ContentChildren(RouterLin
// TODO(issue/24571): remove '!'.
@ContentChildren(RouterLink, { descendants: true })
links !: QueryList<RouterLink>;
// TODO(issue/24571): remove '!'.
@ContentChildren(RouterLinkWithHref, { descendants: true })
linksWithHrefs !: QueryList<RouterLinkWithHref>;
问题是,
链接
和linksWithHrefs
变量从不填充任何内容。我错过了什么?完整的代码。我使用的是Angular 7。有两个问题,一个与指令的实施直接相关:
RouterModule
,最重要的是调用
将根(…)
放入根模块。因此,锚
在根组件中,模板未绑定到的实例
RouterLinkWithHref
实例`目前,如果您基本上通过属性1将指令重构为,那么它将按预期工作。关于第1项,我按照您的建议修复了RouterModule的导入,谢谢。关于2号,可能是个bug?我在github开了店。至于您的建议,我的目标是基于子链接有条件地显示容器的内容,因此恐怕属性指令还不够。
ngAfterContentInit(): void {
console.log("links length", this.links.length);
console.log("linksWithHrefs length", this.linksWithHrefs.length);
}