使用angularJS在标记中过滤数组引用?

时间:2013-10-04 19:38:30

标签: angularjs angularjs-directive

我一直遇到这样的情况:我有一个指令(A),它接受一个项目列表,然后将这些项目的子集传递给另一个指令(B),但为了做到这一点,我总是要看原始列表在指令A的控制器中,将其过滤到一个新数组中,并将其分配给我的范围内的新变量。

我知道你可以做{{ myList | filter:'!propertyName'}}但是当你使用另一个指令的引用(=)时,你不能使用相同的表达式。

有没有办法在模板中执行此操作或只是更好的方法?

以下是一个例子:

在这种情况下,“iterable”使用键盘迭代它提供的项目。我不希望能够选择一个项目,如果它被禁用,所以我想从可迭代指令使用的列表中删除它。

<div class="list-directive">
   <iterable items="items" active="activeItem" disabled="enableKeyboardIteration"></iterable>
   <div ng-repeat="item in items" ng-class="{disabled: item.disabled, active: activeItem == item}" ng-mouseenter="makeItemActive(item)">
     {{item.name}}
   </div>
</div>

0 个答案:

没有答案