我正在尝试用角度来编写自己的过滤器。但是在尝试注册过滤器时我得到了错误,
错误:没有模块:customFilterModule
[打破此错误]
抛出错误('无模块:'+名称);
angular.js(第1090行)
错误:没有模块: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>
我传递给'customFilter'的参数jObj是由Controller填充的JSON对象的一部分。
我似乎无法弄清楚我做错了什么。
谢谢!
答案 0 :(得分:3)
在plunker中使用实时代码可以让人们立即回答您的问题,因此附加实时代码示例(使用plunker,jsfiddle或类似代码)总是一个好主意。
根据你的代码示例,我可以发现2个可疑的事情:
1)在此代码中:
angular.module('customFilterModule')
.filter('customFilter', function() {
return function(listing, param) {
. . .
};
});
在您尝试创建新的customFilterModule
时,您似乎正在尝试检索(!)现有的angular.module('customFilterModule', [])
。你应该写listingFilter
代替(注意括号作为第二个参数)
2)从您的代码中不清楚var myApp = angular.module('myApp', ['customFilterModule']);
模块的定义位置。我认为这可能是你的问题所以你应该写一下:
{{1}}