Angularjs过滤器否定了

lgo*_*zma 22 angularjs

我有一组项目,我想用ng-repeat过滤ng-repeat作为过滤集合的字符串,到目前为止我还没有找到一种方法使表达式被否定时,我是做这样的事情:

<select ng-model="languageOrigin" ng-change="updatePrice()">
             <option ng-repeat="language in languages">{{language}}</option>
</select>
<select ng-model="languageDestination" ng-change="updatePrice()">
            <option ng-repeat="language in languages | filter:!languageOrigin">{{language}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)

文档中,它说我们应该使用!否定表达但仍然没有运气.

我究竟做错了什么?

END*_*nao 43

'!' 字符前置到过滤字符串,如下所示:

过滤:+ languageOrigin '!'

<select ng-model="languageOrigin" ng-change="updatePrice()">
  <option ng-repeat="language in languages">{{language}}</option>
</select>
<select ng-model="languageDestination" ng-change="updatePrice()">
  <option ng-repeat="language in languages | filter:'!'+languageOrigin">{{language}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)


dmo*_*ock 25

如果使用对象,您可能还对以下内容感兴趣:

<li data-ng-repeat="obj in objs | filter:({obj_attr: '!obj_val'})">
   ...
</li>
Run Code Online (Sandbox Code Playgroud)

在AngularJS 1.1.5中测试过.

  • 它在obj_attr包含字符串值时有效,但我应该如何指定not null?或不'(空)字符串? (2认同)