Angular 如何在另一个组件中引用*ngFor

Angular 如何在另一个组件中引用*ngFor,angular,angular2-template,angular2-ngfor,Angular,Angular2 Template,Angular2 Ngfor,如何在dom中引用在ngFor循环中创建的元素 我想从组件中获取本机元素 这不管用 @Component({ selector: "another-component", template: ` <some-component #someComponent *ngFor="let someComponent of someComponents" [title]="someComponent.title" >

如何在dom中引用在ngFor循环中创建的元素

我想从组件中获取本机元素

这不管用

@Component({
    selector: "another-component",
    template: `
        <some-component #someComponent *ngFor="let someComponent of someComponents"
                [title]="someComponent.title"
        >
        </some-component>
    `
})
export class AnotherComponent implements AfterViewInit {

   @input()
   someComponents: SomeComponent[];

   @ViewChildren("some-component")
   someComponentElems: QueryList<ElementRef>;

   ngAfterViewInit(): void {
    this.someComponentElems.forEach(elem => console.log(elem.nativeElement));
   }
}

@Component({
    selector: "some-component",
    template: `<span>{{title}}</span>`
})
export class AnotherComponent implements AfterViewInit {

   @Input()
   title: string;
}
@组件({
选择器:“另一个组件”,
模板:`
`
})
导出类另一个组件在ViewInit之后实现{
@输入()
SomeComponent:SomeComponent[];
@ViewChildren(“某些组件”)
一些组件元素:QueryList;
ngAfterViewInit():void{
this.someComponentElems.forEach(elem=>console.log(elem.nativeElement));
}
}
@组成部分({
选择器:“某些组件”,
模板:`{title}}`
})
导出类另一个组件在ViewInit之后实现{
@输入()
标题:字符串;
}

使用第二个组件并将其输入似乎是最好的解决方案。@ViewChildren(“某些组件”{read:ElementRef})