微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

添加 *ngFor 索引值会导致“超出最大调用堆栈大小”

如何解决添加 *ngFor 索引值会导致“超出最大调用堆栈大小”

StackBlitz demo

我有一个相当简单的视图,它使用 angular 的 html 钩子在 *ngFor 上循环。我使用 ngx-bootstrap collapse 根据内容 .length 显示更多/更少的内容。我遇到的问题是,当我折叠一个多/少按钮时,它们都会折叠/展开。

我已将 let i - index; 添加*ngFor 以索引每个按钮,添加类似 isCollapsed[i]。索引计数正确。

在我的 .ts 文件中,我已像 isCollapsed = true; 一样初始化,但收到以下错误 Cannot create property '1' on boolean 'true'。然后我将其更改为 isCollapsed: boolean[] = [];,然后我收到错误 Maximum call stack size exceeded

这是我的应用程序视图的 stackBlitz - 任何帮助或修复将不胜感激。

解决方法

您必须初始化 isCollapsed

只需添加:

 constructor(){
    this.attributes.map(t=> this.isCollapsed.push(false) );
  }

Here 是工作样本。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。