我创建了一个使用选定的 pyb-button-group 的指令,该指令使用@ViewChildren
,声明如下:
@ViewChildren('header', { read: ElementRef }) headers: QueryList<ElementRef>
我的html模板看起来像这样:
<div class="container" *ngIf="categories">
<div class="row" pyb-button-group>
<div class="col-md-4 col-6" *ngFor="let category of categories">
<a class="btn-choice" [routerLink]="['/' + category.id]">
<div class="header" #header>
<span class="title">{{ category.name }}</span>
</div>
</a>
</div>
</div>
</div>
因此,我有一种使用ngAfterViewInit
触发的方法,如下所示:
ngAfterViewInit() {
console.log(this.headers);
}
并返回undefined
....
我做错什么了吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
它也可以与ViewChildern一起使用,
export class AppComponent {
@ViewChildren('header', { read: ElementRef }) headers: QueryList<ElementRef>
categories: {
name: string
}[] = [];
ngOnInit() {
this.categories = [];
this.categories.push({ name: "Test" }, { name: "Test2" });
}
ngAfterViewInit() {
console.log(this.headers);
this.headers.toArray().forEach(header => console.log(header));
}
}