У меня есть div, который ботирует имена. Я хочу удалить дубликаты в моем массиве. Я сделал это с filter
, но я хочу знать, как мы можем расширить это, чтобы построить directive
.Удалить дубликаты из директивы массива
<div ng-controller="MainController">
<ul>
<li ng-repeat="name in names | unique">
{{name}}
</li>
</ul>
</div>
Ниже приводится код фильтра.
angular.module('app')
.controller('MainController', ['$scope', function($scope){
$scope.names = ['a','b','c','d','a','c'];
}])
.filter('unique', function(){
return function(names){
var obj = {};
names.forEach(function(name){
obj[name] = null;
})
return Object.keys(obj);
}
})
.directive('unique', function(){
return {
link: function(scope, elem, attr){
}
}
})
Как я могу построить directive
, который удаляет дубликаты из моего массива.
Почему вам нужна директива? – PSL
@PSL: Мне интересно узнать, как вы могли бы сделать то же самое с директивой. Что бы вернуть директиву и т. Д .... – Shane
Не имеет смысла на самом деле делать это в директиве, чтобы преобразовать данные, которые точно являются фильтрами ... Или вы ищете нечто большее, чем просто преобразование данных? – PSL