gpt4 book ai didi

angular - 使用 templateRef 查看Children

转载 作者:行者123 更新时间:2023-12-02 00:30:39 29 4
gpt4 key购买 nike

我想使用 ViewChildrenTemplateRef 生成 QueryList,但无法传递到输入组件。

例如

组件.ts:

@ViewChildren(TemplateRef) cellTemplates: QueryList<TemplateRef<any>>;

查看:

<my-component [templatesRef]="cellTemplates"></my-component>

输入:

_templatesRef;
@Input()
set templatesRef(refs: any) {
this._templatesRef = refs;
}

ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'ngIf: false'. Current value: 'ngIf: true'.

参见Stackbilitz

最佳答案

从模板获取 cellTemplates 后,您应该强制父级检测更改,因此请尝试在父级中使用 ChangeDetectorRef:

export class AppComponent  {
name = 'Angular';
@ViewChildren(TemplateRef, {read: TemplateRef}) cellTemplates: QueryList<TemplateRef<any>>;
constructor(private cd: ChangeDetectorRef) { }
ngOnInit(){ }
ngAfterViewInit(){
this.cd.detectChanges();
}
}

您可以在 article 中找到有关该异常的详细说明。 .

DEMO 🚀🚀

关于angular - 使用 templateRef 查看Children,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58281557/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com