1

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嵌套的子组件。有任何想法吗?

4

0 回答 0