2016-04-15 15 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

角のようになりますフィルター。 https://docs.angularjs.org/api/ng/filter –

+0

私はこれが角度フィルターであることはほとんど確信していますが、ネイティブフィルターを意識していません:) –

+1

角度に「固有」フィルターがありません(https ://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.js)。これらのutilsを試してみてください。https://github.com/a8m/angular-filter – sbedulin

答えて

2

あなたがui.directivesとui.filtersモジュールはAngularUIに存在しているので、あなたも参照する必要がありますあなたのアプリに

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

「をui.directives」と「ui.filters」モジュールを挿入する必要がありますアプリケーション内の角度-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']);

これはあなたに役立ちます。

関連する問題