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
相关产品推荐
相关产品推荐

