angularjs - Angular js过滤结果条件
问题描述
我在我的应用程序中使用了过滤器,但想要一些结果:
如果过滤器朋友结果为无,则显示消息,它没有朋友 工作正常
如果过滤曲目的朋友结果为无,则显示没有曲目的消息
当跟踪结果为无时,我也想隐藏朋友
我在 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>
如果没有选择轨道,我如何才能显示消息No track only 一次,就像:
取自上面的代码想要这个:
<p ng-show="play.length==0">
No tracks
</p>
我想在过滤器返回零结果时显示消息,来自所有朋友的跟踪,即搜索全部freinds.tracks
,如果没有选择,则显示消息。
解决方案
您应该创建一个自定义过滤器。通过在一个过滤器中评估多个条件,它将获得“性能”。
$scope.filterData = function (item) {
return (item.SECURITYCLASS === 90 || item.SECURITYCLASS === 93);
}
在你看来:
<div ng-repeat="item in data | filter:filterData">
{{::item}}
</div>
推荐阅读
- ruby-on-rails - 提交后从表单输入中获取值
- javascript - 请求用户电子邮件时返回 404 Not Found [ASP.NET Web API]
- dart - Flutter List + Pull to load more data 不等待数据加载完成导致列表/滚动变得不稳定
- c# - 从数据表插入 SQLite
- gemfire - Geode 事务生成 ID 和插入对象
- javascript - 有没有办法正确模拟单元测试的重新选择选择器?
- php - 如何解决这个错误 phpunit/phpunit-mock-objects 包被废弃,你应该避免使用它。没有建议更换
- java - 资源类和空参数
- mongodb - 为什么我的 mongodb 查询返回 0 个结果?
- reactjs - 使用 react-bootstrap 在 NavDropdown 标题内输入字段块空间