我有这个角度滤镜;

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


柱塞here

基本上,如果在其他选择中的任何一个中都选择了ng-options,则会从中删除选项。我遇到的问题是,它实际上还会删除与所选对象类似的选项。因此,选择“ 1”将从其他选项中同时删除“ 1”和“ 11”。

我怎样才能使它明确,以便只删除完全匹配项?

谢谢!

编辑:我尝试将添加到过滤器中,如docs中所述,也没有运气...

最佳答案

切换为使用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">

10-06 13:13