gpt4 book ai didi

angular - 如何处理 Angular 8 中的 View 子静态错误

转载 作者:行者123 更新时间:2023-12-04 00:55:58 25 4
gpt4 key购买 nike

这是我最近升级到 Angular 8 的代码,但此代码不再有效

@ViewChild(MatList, { read: ElementRef }) matList: ElementRef;

// getting a reference to the items/messages within the list
@ViewChildren(MatListItem, { read: ElementRef }) matListItems: QueryList<MatListItem>;

这是消息错误 TS2345:'{ 类型的参数读取:typeof ElementRef; }' 不可分配给类型为 '{ read?: any; 的参数静态: bool 值; }'。类型中缺少属性“static”'{ read: typeof ElementRef; }' 但在类型 '{ read?: any; 中需要静态: bool 值; }'.

最佳答案

Angular8 之后,ViewChild 静态属性 是必需的。所以你必须在 ready 属性之后的两个 ViewChild 声明中设置它。所以你会有

@ViewChild(MatList, {read: ElementRef, static: false}) matList: ElementRef;
@ViewChild(MatListItem, {read: ElementRef, static: false}) matListItems: QueryList<MatListItem>;

可以设置static属性:

  • true 在更改检测运行之前解析查询结果
  • false 更改检测后解决

关于angular - 如何处理 Angular 8 中的 View 子静态错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62559754/

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