无法在 *ngFor 内使用 *ngIF:angular2
无法在 *ngFor 内使用 *ngIF:angular2
这个问题已经在以下回答中有了解答:
我正在使用angular2,并从服务中绑定数据,问题在于当我加载数据时,我应该按ID进行过滤,这是我应该做的:
{{item.label}}
这是数据:
[ { "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 (" ]*ngIf="item.id=1" value="{{item.value}}" class="{{item.class}}" checked="{{item.check"): RadioFormesType1Component@10:16
有没有建议将ngif和ngfor一起使用?
admin 更改状态以发布 2023年5月22日
另一种解决方案是创建自定义过滤器管道 :\n
import {Pipe} from 'angular2/core'; @Pipe({name: 'filter'}) export class FilterPipe { transform(value, filters) { var filter = function(obj, filters) { return Object.keys(filters).every(prop => obj[prop] === filters[prop]) } return value.filter(obj => filter(obj, filters[0])); } }
\n并在组件中像这样使用它:\n
{{item.label}}
\n自定义管道需要在组件上注册:\n
@Component({ // ... pipes: [FilterPipe] })
\n演示:\nDemo: http://plnkr.co/edit/LK5DsaeYnqMdScQw2HGv?p=preview