json - 不能在 *ngFor : angular2 中使用 *ngIF

标签 json typescript angular angular2-directives angular2-services

<分区>

我正在使用 angular2 并且我正在绑定(bind)来自服务的数据,问题是当我加载数据时我应该通过 id 过滤它,这就是我应该做的:

<md-radio-button
        *ngFor="#item of items_list"
        *ngIf="item.id=1"
        value="{{item.value}}" class="{{item.class}}" checked="{{item.checked}}"> {{item.label}}
</md-radio-button>

这是数据:

[
  { "id": 1, "value": "Fenêtre" ,"class":"md-primary" ,"label":"Fenêtre" ,"checked":"true"},
  { "id": 2, "value": "Porte Fenêtre" ,"class":"" ,"label":"Porte Fenêtre" }

]

顺便说一下,我只想接受 id =1 的数据,但我看到了这个错误:

EXCEPTION: Template parse errors:
Parser Error: Bindings cannot contain assignments at column 14 in [ngIf item.id=1] in RadioFormesType1Component@10:16 ("
        <md-radio-button
                *ngFor="#item of items_list"
                [ERROR ->]*ngIf="item.id=1"
                value="{{item.value}}" class="{{item.class}}" checked="{{item.check"): RadioFormesType1Component@10:16

所以有什么建议一起使用 ngif 和 ngfor 吗?

最佳答案

您可以使用以下内容:

*ngIf="item.id===1"

代替

*ngIf="item.id=1"

您尝试将某些内容分配到 id 属性(operator =)而不是测试其值(operator == ===).

此外,不支持同一元素上的 ngFor 和 ngIf。你可以尝试这样的事情:

<div *ngFor="#item of items_list">
  <md-radio-button
      *ngIf="item.id===1"
      value="{{item.value}}" class="{{item.class}}"
      checked="{{item.checked}}">
    {{item.label}}
  </md-radio-button>
</div>

<template ngFor #item [ngForOf]="items_list">
  <md-radio-button
      *ngIf="item.id===1"
      value="{{item.value}}" class="{{item.class}}"
      checked="{{item.checked}}">
    {{item.label}}
  </md-radio-button>
</template>

关于json - 不能在 *ngFor : angular2 中使用 *ngIF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36196358/

相关文章:

angular - 如何在 Angular v4.0 中使用 Snap.svg(错误 : circle is not a function)

javascript - 解析 json 时遇到问题

json - 如何将 google 工作表单元格中存在的 json 数据解析为数据形式

javascript - 如何添加去抖动以响应 onChange 输入

angular - 如果找不到数据,则解析 Guard : Proper way to resolve observable from Routes,

在 react 形式上使用正则表达式进行 Angular 7 电子邮件验证

java - Jackson - 将 JSON 反序列化为类

c# - 使用 Newtonsoft JToken.ToObject<T> 反序列化NodaTime Instant

javascript - 包未在项目中正确导入

reactjs - 仅当 React 中的状态发生变化时才更改变量值