我有这堂课:
export class Tache {
id: number;
text: string;
stat: number;
}
Stat可以等于0,1或2.
我会在stat = 0时打印 taches ,我尝试使用过滤器
<md-list *ngFor="let tache of taches | filter : 'tache.stat' : '0'" (click)="onSelect(tache)" [class.selectionnee]="tache === tacheSelectionnee">
但是我收到了这个错误:
zone.js:569 Unhandled Promise rejection: Template parse errors:
The pipe 'filter' could not be found ("
答案 0 :(得分:3)
您不需要过滤器。通过使用模板包装来分解逻辑。对Angular 4使用ng-template。
<template *ngFor="let tache of taches">
<md-list *ngIf="tache.stat==0"
(click)="onSelect(tache)"
[class.selectionnee]="tache === tacheSelectionnee">
</md-list>
</template>
答案 1 :(得分:2)
名为&#39; filter&#39;的过滤器/管道来自Angular1.x并不存在于Angular2中,这就是你的代码抛出错误的原因。
在这里查看有关Angular2中管道/过滤器如何变化的指南。 https://blog.imaginea.com/pipe-vs-filter-in-angular-js/
如果您愿意,可以为此创建自己的自定义管道,但我同意Dan的说法 - 用模板打破逻辑。