ng-repeat过滤器,在过滤器删除了对象时显示消息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ng-repeat过滤器,在过滤器删除了对象时显示消息相关的知识,希望对你有一定的参考价值。
我的一些人是忍者,有些则不是。
如果他们不是,我想显示this guy isn't a ninja
消息。
现在,没有任何东西在显示。我是否错误地使用过滤器?
我想在视图中处理这个问题,而不向控制器添加任何新逻辑。
<div ng-repeat="person in people | filter: {job: 'ninja'}">
<div ng-show="person">
This guy is a ninja
</div>
<div ng-show="!person">
This guy isn't a ninja <--Not showing
</div>
</div>
答案
您不是在寻找过滤器,而是在寻找“ng-show”声明:
<div ng-repeat="person in people">
<div ng-show="person.job === 'ninja'">
This guy is a ninja
</div>
<div ng-show="person.job !== 'ninja'">
This guy isn't a ninja
</div>
</div>
另一答案
您目前正在过滤掉每个没有工作的人ninja
。如果你想让ninja
和non-ninja
出现在ng-repeat中,你将不得不删除过滤器并使用ng-show
来确定显示的内容。
<div ng-repeat="person in people">
<div ng-show="person.job === 'ninja'">
This guy is a ninja
</div>
<div ng-show="person.job !== 'ninja'">
This guy isn't a ninja
</div>
</div>
另一答案
移动这些案例并使用ng-show进行处理我不会建议您将来遇到更多案例,因此您可能会使用切换案例,当您过滤数据时,您只剩下过滤结果数组是过滤后的新数组
<div ng-repeat="person in people ">
<div ng-switch="person">
<div ng-switch-when="ninja">this is Ninja</div>
<div ng-switch-default>this is not ninja</div>
</div>
以上是关于ng-repeat过滤器,在过滤器删除了对象时显示消息的主要内容,如果未能解决你的问题,请参考以下文章
仅在应用过滤器时显示 bootstrap-vue b-table 中的项目
我可以在过滤批处理文件(cmd)中的某些格式时显示目录中的文件吗?