我已经创建了一个自定义不纯的管道,可以在我的ngFor中使用,如下所示
<select [(ngModel)]="selectedRole" name="selectedRole">
<option *ngFor="let role of roles| myFilter" [ngValue]="role.name">{{role.name}}</option>
</select>
Selected role : {{selectedRole}} //incorrect!
演示文稿按预期工作,但是当myFilter执行动态过滤器时变量selectedRole
没有得到任何更新,任何想法为什么?感谢
更新:请参阅此示例:http://plnkr.co/edit/iy8lxFR3pTW4v2cbAU8V
然后尝试为select
选择相同的值,您会注意到所选数据无法正确更新
答案 0 :(得分:0)
您正在使用相同的变量名称
<select [(ngModel)]="selectedRole" name="role">
<option *ngFor="let role of roles| myFilter" [ngValue]="role.name">{{role.name}}</option>
</select>
Selected role : {{selectedRole}} //works
原因:role
是在ngFor中用于迭代的对象。
答案 1 :(得分:0)
试试这个?
<select [(ngModel)]="selectedRole" name="role">
<option *ngFor="let role of roles| myFilter" [value]="role">{{role.name}}</option>
</select>
Selected role : {{selectedRole}}