从ng-repeat中删除重复: 错误:[$ injector:unpr] http://errors.angularjs.org/1.4.6/ $ injector / unpr?p0 = uniqueFilterProvider%20%3C-%20uniqueFilter
<script>
module.filter('unique', function() {
return function(collection, keyname) {
alert(collection);
alert('under the function');
var output = [],
keys = [];
angular.forEach(collection, function(item) {
var key = item[keyname];
alert(key);
if(keys.indexOf(key) === -1) {
keys.push(key);
output.push(item);
}
});
alert('output');
return output;
};
});
</script>
答案 0 :(得分:0)
您可能无法正确地将过滤器注册为模块,因此Angular并不知道它存在。假设您的Angular应用程序定义如下
var app = angular.module('myApp', []);
请务必按照以下方式声明您的过滤器:
app.filter('unique', function () {
...
});
另外,请务必在<script>
中使用index.html
标记添加声明过滤器的JavaScript文件。