Angular js过滤结果条件

时间:2018-06-04 08:30:41

标签: angularjs angularjs-filter

我在我的应用中使用过滤器,但想要一些结果:

  • 如果过滤器的朋友结果为无,则显示消息没有释放 工作得很好

  • 如果过滤好友的音乐结果,则无法显示消息否 轨道

当曲目结果为无

时,我也希望隐藏朋友

我在plunker上创建了一个示例应用程序并相应地显示了相应的消息:

https://plnkr.co/edit/HaVGA4C2qnKjaBUOBlj0?p=preview

 <div ng-controller="repeatController">
   <p ng-show="results.length==0">
      No freinds
   </p>
   <p ng-show="play.length==0">
      No tracks
   </p>
   <input type="search" ng-model="q" placeholder="filter friends..." aria-label="filter friends" />
   <input type="search" ng-model="t" placeholder="filter tracks..." aria-label="filter friends" />
   <ul class="example-animate-container">
      <li  ng-repeat="friend in friends | filter:q as results track by friend.name">
         {{friend.name}} who is {{friend.age}} years old.
         <span  ng-repeat="data in friend.result | filter:t as play">
         <br> {{data.track}}.<br>
         </span>
      </li>
      <li  ng-if="results.length === 0"> 
         <strong>No results found...</strong>
      </li>
   </ul>
</div>

如果没有选择曲目,我只能如下一次显示消息无曲目

取自上面的代码想要这个:

<p ng-show="play.length==0">
     No tracks
</p>

我想在过滤器返回零结果时显示消息,来自所有朋友的音轨,即搜索全部freinds.tracks,如果没有选择,则显示消息。

1 个答案:

答案 0 :(得分:0)

您应该创建自定义过滤器。通过评估一个过滤器中的多个条件,它将获得“性能”。

 $scope.filterData = function (item) {
 return (item.SECURITYCLASS === 90 || item.SECURITYCLASS === 93);
  }

在你看来:

 <div ng-repeat="item in data | filter:filterData">
{{::item}}
 </div>