所以,如果我有一個數組:是否有可能通過在另一個數組中包含來過濾angular.js?
$scope.letters =
[{"id":"a"},
{"id":"b"},
{"id":"c"}];
而另一個數組
$scope.filterBy = ["b","c","d"];
而且我希望有一些NG重複只出現在$ filterBy要過濾的項目$ scope.letters。
我希望能夠做一些事來的效果:
<span ng-repeat="{{letter in letters|filter: letter.id in filterBy }} > {{letter.id}} </span>
而且它打印B,C
我知道這是一個非常愚蠢的例子,但有沒有辦法根據另一個數組對象的內容過濾angular.js表達式?
filteredLetters()將被稱爲_every_摘要循環。因此,如果您在視圖中使用ng-model的輸入字段,則意味着每次擊鍵。將過濾器的結果存儲在新的$ scope屬性中會更好。如果'letters'或'filterBy'改變,使用$ watch()es更新過濾結果。 – 2013-03-16 22:13:45
好點。謝謝你的建議。 – ValeriiVasin 2013-03-16 23:11:19
雖然它會起作用(提供的應用程序非常簡單),但我不會推薦使用這種方法 - 正如@MarkRajcok所提到的,它被稱爲每個摘要循環,意味着性能非常糟糕,我從類似於「Error:[$ rootScope:infdig] 10 $ digest()迭代到達。中止!「 – 2016-10-25 15:55:23