我有以下陣列:Angularjs NG-如果選擇NG重複
$scope.selected_items = [
{id: "12345"},
{id: "67890"}
]
$scope.list_items = [
{ id: "12345", name: "first", more: "data" },
{ id: "22222", name: "second", more: "data2" },
{ id: "33333", name: "third", more: "data3" },
]
我試圖列出在$scope.list_items
誰是id
所有項目中不存在$scope.selected_items
。我知道我必須做些什麼ng-if
,但我不知道該怎麼做。
<div ng-repeat="data in list_items" ng-if="????">
{{ data.name }}
</div>
誰能幫我弄清楚這個問題嗎?
或者爲什麼不只是'NG重複= 「數據list_items |過濾器:{選擇:假}」'或使用[negated](http://stackoverflow.com/questions/13278371/angularjs-filter-negated)並避免ng顯示 – PSL
感謝羅傑。我修改了我的代碼來處理這個問題。我很欣賞快速答案。什麼是更有效的@PSL? 'ng-if','filter'或者'ng-show' – bryan
@bryan最有效的方法是在控制器中進行過濾(保留過濾列表並將其綁定到DOM並在選擇項目時更新過濾列表)...因此表達式不會在每個摘要循環中被評估。即'$ scope.filtered = $ scope.list_items.filter(function(itm){return!itm.selected})''。如果你在DOM上使用過濾器,ng-if,ng-show他們都會創建一個觀察者。 – PSL