我有以下阵列: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