Angular JS Filter:为什么要删除其他LIKE选项?

时间:2016-04-07 19:51:55

标签: javascript angularjs

我有这个角度过滤器;

ng-options="option.name as option.name for option in options |
filter: newForm.select2 && {name: '!' + newForm.select2} | 
filter: newForm.select3 && {name: '!' + newForm.select3}

Plunker here

基本上,如果在其他选项中选择了ng-options,它会从ng-options中删除选项。我遇到的问题是它实际上会删除与所选择的选项相似的选项。所以,选择' 1'将删除' 1'和' 11'来自其他选项。

如何将其显式化,以便仅删除完全匹配?

谢谢!

编辑:我已经尝试添加:如docs中所解释的那样对过滤器添加true,但没有运气......

1 个答案:

答案 0 :(得分:1)

切换到使用ID而不是名称。例如,请参阅此fork of your plnkr

<select ng-model="newForm.select2" 
        ng-options="option.id as option.name for option in options | filter: newForm.select1 && {id: '!' + newForm.select1} | filter: newForm.select3 && {id: '!' + newForm.select3}" 
        class="form-control">