Angular.js: filter ng-repeat by absence in array

孤街浪徒 提交于 2019-12-04 17:25:48

问题


I need to filter items in ng-repeat so that only the items which not appear in alreadyAddedValues() array will be shown:

<ul class="dropdown-menu">
    <li ng-repeat="v in values() | filter: { ????? } ">{{value.name}}</li>
</ul>

$scope.values() = function(){
    ................
}

$scope.alreadyAddedValues() = function()
{
    //returns an array
}

The search of an already added value should perform by value.shortName


回答1:


You can, for example, use a custom function to do the filtering:

<li ng-repeat="v in values() | filter:filterAlreadyAdded ">{{value.name}}</li>

On the controller:

$scope.filterAlreadyAdded = function(item) {
    // filter logic here...
    // return false if item already added, true otherwise
};

jsfiddle: http://jsfiddle.net/bmleite/5VbCJ/



来源:https://stackoverflow.com/questions/14840176/angular-js-filter-ng-repeat-by-absence-in-array

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!