2013-04-20 82 views
1

我想在角度編寫我自己的過濾器。但是,當試圖註冊該過濾器出現錯誤,無法註冊自定義angularjs過濾器

Error: No module: customFilterModule

[打破這個錯誤]

拋錯誤(「無模塊:」 +名);

angular.js(線1090)

Error: No module: myApp

[打破此錯誤]

擲錯誤( '無模塊:' +名);

使用Javascript:

angular.module('customFilterModule') 
.filter('customFilter', function() { 
    return function(listing, param) { 
     var out = []; 
     // perform my filtering logic to return a smaller array 
     return out; 
    }; 
}); 

var myApp = angular.module('myApp', ['customFilterModule']); 

function AppController($scope) { 
    // my controller code 
} 

HTML:

<div class="container" id="mainBody" ng-app="myApp"> 

     <div id="listingsListBody" class="row" ng-controller="MyController"> 
     ... 
      <div class="sub-container"> 
       <div class="elem-box" ng-repeat="elem in elems | customFilter:jObj> 
       ... 
      </div> 
     </div> 
    </div> 

參數jObj我傳遞給 'customFilter' 是受控制器填充的JSON對象的一部分。

我似乎無法弄清楚我做錯了什麼。

謝謝!

回答

3

在plunker中存在實時代碼將允許人們很快回答您的問題,因此,附上實時代碼示例(使用plunker,jsfiddle或類似的代碼)總是一個好主意。

基於您的代碼示例中,我可以當場2個腥物回事:

1)在此代碼:

angular.module('customFilterModule') 
.filter('customFilter', function() { 
    return function(listing, param) { 
     . . . 
    }; 
}); 

它看起來像你試圖檢索()現有customFilterModule一會兒!你可能正在嘗試創建一個新的。你應該改寫angular.module('customFilterModule', [])(通知括號作爲第二個參數)

2)從你的代碼中不清楚listingFilter模塊在哪裏定義。我認爲這可能是你的問題,所以你應該寫:

var myApp = angular.module('myApp', ['customFilterModule']); 
+0

謝謝[]括號! – anirudha13 2013-04-20 18:44:59

+2

好奇是否有一個廣泛使用的IDE的angularJS驗證器插件? – anirudha13 2013-04-20 23:02:57

相關問題