更新:这是Angular< = 2.4.1中的错误。请参阅下面的“证明”帖子。
我在AngularJS(2.2)中遇到问题,在模板内部使用For循环模板来显示数组中的数组。
参见下面的MWE。第一张图显示了开始状态,如果按下按钮一次,我会得到所需的输出,但是如果我再次按下按钮,我会得到奇怪的输出(FIELD:2 SUBFIELD:2预期)
初始化后,for循环似乎不再正常工作。我该如何解决这个问题?
如果我删除了内部For模板,我只能再次获得所需的输出。
MWE
{{1}}
答案 0 :(得分:0)
怎么样:
<template *ngFor="let item of dataItem.array">
SUBFIELD: {{item.item}}
</template>
答案 1 :(得分:0)
我找到了根本原因。这是AngularJS&lt; = 2.4.1中的错误。这Plunker snippet 证明了这个问题。在按钮上单击多次,以查看效果。
如果您复制/分叉代码段并通过更改systemjs.config.js
更改此Plunker代码段中的Angualar版本:
var V = '2.4.1';
到
var V = '2.4.2';
您会看到按钮上的多次单击现在可以产生所需的效果,而无需进行其他修改。
但是,我无法在Angular 2更改日志中找到相关的bug。但是,有一些与模板/ ngFor相关的修复报告。