【发布时间】:2019-03-12 10:49:52
【问题描述】:
@Directive({
selector: '[some-directive]'
})
export class SomeDirective...
@Component({
selector: 'inner-component',
template: `
<div some-directive></div>
`
})
export class InnerComponent {
}
@Component({
template: `
<inner-component></inner-component>
`
})
export class OuterComponent {
@ContentChildren(SomeDirective, {descendants: true}) elementsWithDirective: QueryList<SomeDirective>;
}
这是获取这些指令的正确方法吗? elementsWithDirective 返回空结果数组。我无法以这种方式访问它。我可以摆脱这个问题的唯一方法是将<div app-some-directive></div> 直接放在 OuterComponent 的视图中,但我想避免它。
【问题讨论】:
-
什么时候访问 elementsWithDirective ?它应该在 ngAfterContentInit 期间设置
-
无论我在哪里做,即使我在 10 秒后控制台
elementsWithDirective,结果数组仍然是空的。
标签: angular typescript