配列を使用して、リスト内のunique
情報をフィルタリングして表示しようとしています。そのために、angular
inbuild filter
メソッドを使用します。
しかし、エラーが発生しています。
これが私の試みです(SubProjectName
でフィルタリングしています)
<ul>
<li ng-repeat="project in projectNames | unique: 'SubProjectName' ">
{project.SubProjectName}}
</li>
</ul>
AngularJSには、デフォルトでunique
フィルターが含まれていません。 angular-filter のいずれかを使用できます。 JavaScriptを含めるだけ
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-filter/0.5.8/angular-filter.min.js"></script>
アプリに依存関係を含めます。
var app = angular.module('myApp', ['angular.filter']);
コードはすぐに動作するはずです! Plunker を編集したので、動作します。
このような答えを探していると思います
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.projectNames=projects
$scope.Id = "1";
$scope.SubProjectName="Retail Building";
})
.filter('unique', function() {
return function(projects, subProjectName) {
var newprojects =[];
projects.forEach(function(project){
if(project.SubProjectName === subProjectName)
newprojects.Push(project);
});
return newprojects;
};
});
<li ng-repeat="project in projectNames | unique:SubProjectName">{{project.SubProjectName}}</li>
おそらく使用しようとしているunique
フィルターはAngularUIに由来するため、含める必要があります。
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui/0.4.0/angular-ui.js"></script>
それをモジュールの依存関係として追加します。
var app = angular.module('plunker', ['ui.filters']);
http://plnkr.co/edit/sx3u1ukH9752oR1Jfx6R?p=preview フィルターの依存関係を追加しました。
var app = angular.module('plunker', ['angular.filter']);
これがあなたを助けることを願っています