2014-09-19 3 views
0

У меня есть объект статей, содержащий все статьи на сайте по id в ng-repeat. У меня также есть массив внутри объекта продуктов прикрепленных статей по id в повторе.Угловая JS-фильтрация использованных идентификаторов из отдельного массива

Пытается показывать только те товары, которые НЕ прикреплены к продукту. Не совсем уверен, как перебирать массивы и находить совпадения и исключать их из возвращаемого объекта.

https://gist.github.com/irthos/0565c66be0ab992adc0a

Есть ли способ, что я могу нг-повтор = "статьи в статьях | (.., Когда любые product.articles $ ID === статья $ ID), за исключением"?

+1

Создать функцию на области, которая делает то, что вы хотите, и передать его в качестве аргумента 'filter'. –

ответ

1

var app = angular.module('app', []); 
 
app.controller('MainCtrl', function($scope) { 
 
    $scope.name = 'World'; 
 
    $scope.search = 1; 
 

 
    $scope.familes = [{ 
 
    id:1, 
 
    name: "Kruders", 
 
    kids: [ 
 
     { name: "zoe" } 
 
     ] 
 
}, 
 

 
{ 
 
    id:2, 
 
    name: "Halifax", 
 
    kids: [ 
 
     { name: "mike" } , 
 
     { name: "jim" } 
 
     ] 
 
}, 
 

 
{ 
 
    id:3, 
 
    name: "Judes", 
 
    kids: [ 
 
     
 
     ] 
 
}] 
 
});
<html ng-app="app"> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<body ng-controller="MainCtrl"> 
 
    <input type="number" ng-model="search" /> 
 

 

 

 
    <ul> 
 
    <li ng-repeat="family in familes | filter :{id:'!'+search}">id: {{family.id}} - Name:{{family.name}}</li> 
 
    </ul> 
 

 
</body> 
 
    </html>
Пожалуйста, смотрите, что демо это должно помогает http://plnkr.co/edit/MNqBhOd1Y5GVezfa8zj0?p=preview

ng-repeat="article in articles | filter :{id:'!'+product.articles.$id}) 
+0

Очень ценный sss! Очень элегантно. Только одна вещь, которую я до сих пор не вижу, как это сделать: как получить $ scope.search = [1,2], так что выход будет равен только 0: – irth

+1

@irth, в этом случае вам нужно создать свой собственный фильтр, пожалуйста, см. здесь http://plnkr.co/edit/oFeKpFFEH9HoxxcySGi0?p=preview – sylwester

Смежные вопросы