2017-01-31 8 views
0

私はAngularJSでHTMLにバインドされたオブジェクトの配列を持っています。ボタンをクリックすると、配列の内容をフィルタリングし、配列内の特定の項目のみを表示します。配列の各要素にはいくつかのプロパティがあり、 "mapid"プロパティでフィルタリングしたい。ここに私のコードは次のとおりです。Angular JS JavaScriptのフィルタ

マップビュー:このコードのエラー angular.min.js:117エラー:[$インジェクター:

<span ng-class="mapArray[0]" ng-click="MapView(0)" class="active">All Maps</span> | 
<span ng-class="mapArray[1]" ng-click="MapView(1)">Public Art</span> | 
<span ng-class="mapArray[2]" ng-click="MapView(2)">City of Houston</span> | 
<span ng-class="mapArray[3]" ng-click="MapView(3)">Gallery Guide</span></p></div> 
var listingsApp = angular.module('listingsApp', []); 

listingsApp.controller('pageController', function ($scope, $sce, $filter, $http, $log, $compile) { 

$scope.MapView = function (mapviewid) { 
    $scope.mapviewid = mapviewid; 
    $scope.mapListings = $filter('mapfilter')($scope.allListings, { mapid : mapviewid }) 
} 

}) 

私は[UNPR $インジェクター]を取得します:?コントローラへのUNPR] http://errors.angularjs.org/1.5.7/ $インジェクター/ UNPR P0 = mapfilterFilterProvider%20%3C-%20mapfilterFilter

リンク:https://jsfiddle.net/jpking72/7woyjs67/

+1

'mapfilterを定義しています'あなたのコントローラのコード/宣言は何ですか? – Derlin

+0

残りのエラーの内容は何ですか?プロバイダの名前は大きな手がかりになります – charlietfl

+0

あなたのコントローラを見せてください – Kenny

答えて

0

それはあなたがmapfilterを定義していなかったかもしれ、またはmapfilterはつまり、あなたがあなたのモジュールへの依存関係として宣言していないモジュールに

module('myapp', []).filter('mapfilter', function(){ ... }) 

またはあなたが宣言した

module('myapp', ['moduleWithMapFilter']) 
+0

は、あなたが何かを注入するのを忘れた場合、 '[$ injector:unpr]'エラーを表示しません。利用できないものを注入する場合にのみ – charlietfl

+0

あなたはありがとう! – Derlin

+0

この回答は正しいです。あなたは 'mapfilter'という名前のフィルタを使用しようとしていますが、少なくともあなたの質問では、フィルタが利用可能であることが明らかではありません – devqon