我已将 B.JSP 包含在 A.JSP中。 在A.controller中,我有以下过滤器。
A.jsp
<body background="${abc}" ng-app="myApp" onload-directive
ng-controller="myController" ng-init="mySwitch=true" disable-keys>
<div class="modal-body" style="height: 500px !important;overflow-y: auto !important;overflow-x: hidden !important;">
<jsp:include page="B.jsp"></jsp:include>
</div>
</body>
Bcontroller.js
var app = angular.module('myApp', ['ui.bootstrap']);
app.controller('myController', function($scope, $compile, $timeout, $filter, $window, myService) {
// code
}); app.filter('isempty', function() {
return function(input) {
return isEmpty(input) ? '' : input;
};
function isEmpty(i) {
return (i === 'null' || i === undefined);
}
});
当我尝试执行 A.JSP 时,我得到了this error
如何避免该错误。
答案 0 :(得分:0)
如错误说明中所述,
此错误是由于$ injector无法解决所需的依赖关系引起的。要解决此问题,请确保已正确定义依赖项并正确拼写。
您必须将过滤器注入到以Filter
后缀isemptyFilter
结尾的控制器中,如下所示,
(function(angular) {
'use strict';
angular.module('myApp', [])
.filter('isEmpty', function() {
return function(input) {
console.log(input);
return isEmpty(input) ? 'emptyfield' : input;
};
function isEmpty(i) {
return (i === 'null' || i === undefined);
}
})
.controller('myController', ['$scope', 'isEmptyFilter' , function($scope, isEmptyFilter) {
$scope.greeting = 'null';
$scope.greetingVal = isEmptyFilter($scope.greeting);
}]);
})(window.angular);
<script src="//code.angularjs.org/snapshot/angular.min.js"></script>
<body ng-app="myApp">
<div ng-controller="myController">
<input ng-model="greeting" type="text"><br>
{{greetingVal}}
</div>
</body>