在AngularJS模板中,我可以使用过滤器select
表示法排序 |
列表中的元素:
<select ng-model="myListModel"
ng-options="c.id as c.name for c in myList | orderBy:'name' }">
同样地,我似乎可以使用$filter
:
$scope.myList = $filter('orderBy')($scope.myList,'name');
现在,我可以使用以下方法从模板中的列表中删除元素:
<select ng-model="myListModel"
ng-options="c.id as c.name for c in myList | filter: { id : '!' + $scope.someId }">
但是我怎么能(类似于排序示例)使用$filter
在控制器中执行相同的删除(从而避免了大量的JavaScript代码来执行删除)?
答案 0 :(得分:0)
使用此代码。它使用了filter
过滤器,并注意使用!
实现了不等于以及要移除的ID的字符串表示。
$scope.filteredListToUseInTemplate =
$filter("filter")($scope.myList, { id: "!" + $scope.someId });
然后在模板中使用filteredListToUseInTemplate
而不是myList
。