【问题标题】:custom filter in angular jsAngular js中的自定义过滤器
【发布时间】:2018-07-07 13:41:14
【问题描述】:

我在 A.JSP 中包含了 B.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

我怎样才能避免这个错误。

【问题讨论】:

  • 模块和控制器代码
  • @Sajeetharan 我没听明白,我已经发布了我的 jsp 和控制器代码
  • 你在哪里声明了 app = angular.module 和 ng-controller 等
  • @Sajeetharan 我已经编辑了问题。

标签: javascript html angularjs jsp


【解决方案1】:

正如文档中的错误描述所述,

此错误是由于 $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>

【讨论】:

  • 我没有在页面的任何地方使用 isemptyFilter
  • 然后尝试完全删除过滤器代码,如果错误仍然存​​在,请检查您定义的所有依赖项是否正确,例如:myService。并检查您的模板是否在任何地方使用此isEmpty 过滤器。
猜你喜欢
  • 2013-10-30
  • 1970-01-01
  • 2016-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-26
  • 1970-01-01
  • 2019-12-08
相关资源
最近更新 更多