You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular中@for遍历WritableSignal数组仅在JSON显示正常时生效的问题咨询

Angular中@for遍历WritableSignal数组仅在JSON显示正常时生效的问题咨询

我最近在Angular项目里碰到个特别诡异的问题,卡好久了,来请教下各位大佬:

我在组件里定义了一个WritableSignal类型的数组信号,初始值是空数组:

variableList = signal<TVariable[]>([]);

然后在模板里想用@for循环来遍历这个数组渲染内容,结果发现一个离谱的情况——只有当我在模板里用{{variableList() | json}}把信号的内容打印出来之后,@for循环才会正常执行;如果删掉那行JSON打印的代码,循环就完全没反应,连“loop test”都不会显示。

我的模板代码是这样的:

<!-- 加上这行,循环才生效 -->
show JSON of variableList() : {{variableList() | json }}

@for (variable of variableList(); track [$index]; let i = $index) {
  <!-- 本来应该通过这个循环生成UI -->
  loop test: {{i}}
}

我实在搞不懂为什么会这样,明明variableList()的JSON显示是正常的,说明信号里确实有数据,但为什么只有打印JSON的时候循环才会触发呢?有没有大佬遇到过类似的问题,或者能给我指个方向排查?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 10:34:35