Angularjs将ng-options与过滤器一起使用,而不从过滤器中删除选项

dre*_*ltz 2 javascript angularjs

我正在尝试使用带有过滤器的ng-options,并且可以看到所看到的行为.但是,预期的行为并非所需.

做以下事情的最佳做法是:

<div ng-init="blades = [{item:'1', spec:'2'}]"></div>
<select 
    ng-model="blades"
    ng-options="blade.spec as blade.spec for blade in blades">
    <option>--</option>
</select>
<ul>
    <li ng-repeat="blade in blades">{{blades.item}}</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

在这里,当您进行过滤时,您可以过滤选择列表中的值,使其无效.什么是最佳做法?

dre*_*ltz 5

我在这个过程中回答了我自己的问题以及其他一些问题.这是如何:

<div ng-init="items = [{id:'1', spec:'A'}, {id:'2', spec:'B']"></div>
<select 
  ng-model="searchSpec"
  ng-options="item.spec as item.spec for item in items">
  <option>--</option>
</select>
<ul>
  <li ng-repeat="item in items | filter:{spec:searchSpec}">{{item.spec}}</li>
</ul>
Run Code Online (Sandbox Code Playgroud)