cleary的文档ContentChildren
指出,它QueryList
不会在子组件中获取任何内容。但它并没有说明相同的情况ViewChildren
,所以我问自己,如果我在这里做错了什么。
指示
@Directive({
selector: '.input-group'
})
export class InputGroupDirective {
constructor(private element: ElementRef) {
console.log(element); // <-- produces n results
}
}
父组件.ts
@ViewChildren( InputGroupDirective ) public inputGroup: QueryList<InputGroupDirective>;
public ngAfterViewInit(): void {
console.log(this.inputGroup); // <- produces empty result
console.log(document.querySelector('.input-group')); // <-produces n results
}
父组件.html
<child></child>
child.component.html
<second-child></second-child>
second.child.component.html
<div class="input-group"></div>
基本上,我需要做的是选择第一个.input-group
嵌套的子组件。有任何想法吗?