2016-04-15 74 views
2

我有一個簡單的例子,我正在展示我的段落,根據獨特的年齡過濾出值,但是我得到了未知的提供者錯誤。怎麼樣 ?獨特的過濾器無法在Angular.js中正常工作

<html> 
<head> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js"></script> 
</head> 
<body ng-app="myApp" ng-controller="myCtrl"> 
    <p ng-repeat="x in persons | unique: 'age'">{{x.name}}</p> 
<script> 
//App declaration 
var app = angular.module('myApp',[]); 
//Controller Declaration 
app.controller('myCtrl',function($scope){ 
    $scope.persons = [{name: "Peter",age:23},{name:"Laila",age:25},{name:"Rosy",age:23}]; 
}); 
</script> 
</body> 
</html> 

enter image description here

+1

角沒有聯合國ique過濾器。 https://docs.angularjs.org/api/ng/filter –

+0

我幾乎可以肯定這是一個angularui過濾器,不知道本地的:) –

+1

角度沒有'唯一'過濾器(在https中進行搜索://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.js)。嘗試使用這些工具https://github.com/a8m/angular-filter – sbedulin

回答

2

你需要注入「ui.directives」和「ui.filters」模塊爲您的應用

var app = angular.module('myApp',['ui.directive', 'ui.filters']); 

由於ui.directives和ui.filters模塊存在於AngularUI,你還需要參考在您的應用程序角ui.js

<script src="http://cdnjs.cloudflare.com/ajax/libs/angular-ui/0.4.0/angular-ui.min.js"></script> 

你完整的代碼應該是這個樣子

<html> 
<head> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js"></script> 
<script src="http://cdnjs.cloudflare.com/ajax/libs/angular-ui/0.4.0/angular-ui.min.js"></script> 
</head> 
<body ng-app="myApp" ng-controller="myCtrl"> 
    <p ng-repeat="x in persons | unique: 'age'">{{x.name}}</p> 
<script> 
//App declaration 
var app = angular.module('myApp',['ui.directives','ui.filters']); 
//Controller Declaration 
app.controller('myCtrl',function($scope){ 
    $scope.persons = [{name: "Peter",age:23},{name:"Laila",age:25},{name:"Rosy",age:23}]; 
}); 
</script> 
</body> 
</html> 
+0

我不認爲你需要'ui.directives'模塊在這裏,'ui'版本非常過時'v0.4.0 - 2013-02- 15'。這並不意味着'唯一'不會起作用,而不是增加過度依賴,最好只使用過濾器,或者自己寫。 – sbedulin

+0

@sbedulin我同意你的意見。我給出了答案,導致問題是爲什麼未知的提供者錯誤被拋出。 –

1

,由於獨特的過濾網目前可以找到的AngularJs UI utils的一部分。 爲了使這項工作,你必須將其作爲一個額外的參考在你的模塊angular.module('myApp', ['ui', 'ui.filters']);

希望這對你有所幫助。

相關問題