Angular 如何在另一个组件中引用*ngFor
如何在dom中引用在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" >
@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})