【问题标题】:Angular 5 :Error trying to diff 'on'. Only arrays and iterables are allowedAngular 5:尝试区分“开”时出错。只允许使用数组和可迭代对象
【发布时间】:2018-07-31 14:38:26
【问题描述】:

因此,在我的 Angular 5 应用程序中,我在 <tr> 标记中的数组上进行迭代,会显示该表。 但是,只要我单击 <td> 内的单选按钮,错误就会打印在控制台“Error trying to diff 'on' 中。只允许使用数组和可迭代对象。

下面是我的代码:

<tr *ngFor="let i of mpFASetupList" 
     [style.background-color]="checkFlag ? 'yellow' : 'white'">
        <td class="data" id="zero">
           <input id="faRadioBtn" 
           type="radio" name="anyName" 
           (click)="onSelectFaSetup(i)">
        </td>
</tr>

这是我的 mpFASetupList 数组:

[{"internalCode":0,
"authFlag":true,
"mainDashboardId":1061,
"validateStatusFlag":false,
"statusFlag":false}]

你可以看到它是一个数组而不是一个对象。 即使我的代码中没有“on”对象,我也不明白为什么它会给我错误。 任何解决方案?

【问题讨论】:

  • 什么是onSelectFaSetup函数?
  • @Arash 该函数更改了几个标志以显示和隐藏按钮。我尝试在没有 (click) 事件的情况下运行代码,但它仍然给我同样的错误。

标签: json angular


【解决方案1】:

我使用您的输入尝试了示例代码 sn-p 并发现工作正常。请找到工作代码。

<table>
     <tr *ngFor="let i of mpFASetupList" 
        [style.background-color]="checkFlag ? 'yellow' : 'white'">
        <td class="data" id="zero">
           <input id="faRadioBtn" 
           type="radio" name="anyName" 
           (click)="onSelectFaSetup(i)">{{i.mainDashboardId}}
        </td>
     </tr>
</table>

https://stackblitz.com/edit/angular-qqvaga

【讨论】:

  • 感谢您的回答,但不幸的是这没有奏效。正如我之前提到的,mpFASetupList 是一个数组而不是一个对象,我期待一个答案,说明我仍然收到问题中提到的错误的原因。
猜你喜欢
  • 2018-07-15
  • 1970-01-01
  • 2020-08-15
  • 2021-06-06
  • 2021-12-21
  • 2018-11-25
  • 2020-05-27
  • 1970-01-01
相关资源
最近更新 更多