我的一些人是忍者,有些人不是。
如果不是,我想显示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>
答案 0 :(得分:0)
你不是在寻找一个过滤器,你正在寻找一个&#34; ng-show&#34;语句:
<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>
<强>&GT; Demo fiddle 强>
答案 1 :(得分:0)
您目前正在过滤掉每个没有这份工作的人ninja
。如果您希望{ng重复中显示ninja
和non-ninja
,则必须删除过滤器并使用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>
答案 2 :(得分:0)
移动这些案例并使用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>