我需要以下方面的帮助。当数组键ppkfound的值为true时,网站应显示某个文本,而当数组键中的值不为true时,它应显示其他内容。
我尝试使用过滤器并使用limitTo来做到这一点。只要有一个pkkfound值为true的产品,这就可以正常工作。当pkkfound值为false时,它不会显示。
如何使这项工作成为可能,因为当我不应用此过滤器时,总数将显示多次(等于数组中的行数)。
见下面的代码。
<div ng-repeat="item in localStorage.items | filter:'true' | limitTo: 1">
<span ng-hide="item.ppkfound == 'false'">± {{totalBtw() | currency:"€"}}</a></span>
<span ng-hide="item.ppkfound != 'false'">{{totalBtw() | currency:"€"}}</a></span>
</div>
解决此问题的最佳方法是什么?在网页的其他部分,只要我不使用过滤器选项,这个逻辑就会很好用。
简而言之,我正在尝试在数组中搜索值为true的任何键(最好只有pkkfound键)。如果那发现他应该在总数的前面放一个±只显示一次。
感谢您的帮助!
答案 0 :(得分:1)
您不能在此使用<div ng-switch="(localStorage.items|filter:'true'|limitTo:1)[0].ppkfound">
<span ng-switch-when="true"><a>± {{totalBtw() | currency:"€"}}</a></span>
<span ng-switch-default><a>{{totalBtw() | currency:"€"}}</a></span>
</div>
。它是你可以在这里使用的ng-switch
。
请试试。
autosize()
答案 1 :(得分:-1)
您可以使用Angulars ng-if
指令。
<span ng-if="item.ppkfound == 'false'">± {{totalBtw() | currency:"€"}}</a></span>
<span ng-if="item.ppkfound != 'false'">{{totalBtw() | currency:"€"}}</a></span>
如果这样做,预期的元素将是唯一显示的元素。使用ng-hide
,您将创建两个元素,而Angular只会隐藏其中一个,而ng-if
只会渲染预期的元素。