AngularJS错误:[$ injector:unpr]使用$ filter时的未知提供程序

时间:2016-03-01 16:24:36

标签: javascript angularjs angularjs-filter

这个问题并不是什么新问题,但问题是我花了几个小时进行搜索,并试图弄清楚我的代码有什么问题,但我还没找到。请给我一些想法!提前谢谢。

my text-upper-case.js(我定义了我的过滤器)

'use strict';

var UpperCase = (function() {
  /*@ngInject*/
  function UpperCase(input) {

    return function(input) {
      input = input.replace(/([A-Z])/g, ' $1');

      return input[0].toUpperCase();
    }
  };

  return UpperCase;
})();

module.exports = UpperCase;

我的过滤器模块(module.js)

'use strict';

var angular = require('angular');
var UpperCase = require('./text-upper-case');

angular
  .module('myApp.filters', [])
  .filter('UpperCase', UpperCase);

这是我主要的app.js,我注入了我的应用程序依赖项

'use strict';

var angular = require('angular');
require('./filters/module');

angular
  .module('myApp', ['myApp.filters']);

错误消息:

  

错误:[$ injector:unpr]未知提供者:inputProvider< - input< -   UpperCaseFilter   http://errors.angularjs.org/1.5.0/ $注射器/ unpr?P0 = inputProvider%20%3 C-%20input%20%3 C-%20UpperCaseFilter       在framework.js:8573       在framework.js:12902       at Object.getService [as get](framework.js:13055)       在framework.js:12907       at getService(framework.js:13055)       at injectionArgs(framework.js:13079)       在Object.invoke(framework.js:13101)       at Object.enforcedReturnValue [as $ get](framework.js:12948)       在Object.invoke(framework.js:13109)       在framework.js:12908(匿名函数)@ framework.js:21741(匿名函数)@   framework.js:18470Scope。$ digest @ framework.js:25187(匿名   函数)@ framework.js:25364completeOutstandingRequest @   framework.js:14309(匿名函数)@ framework.js:14586

在视图中:

<table>
 <tr ng-repeat="(key, value) in h.room_information">
   <td>{{key | UpperCase}}</td>
     <td>{{value}}</td>
   </tr>

我的项目结构: enter image description here

1 个答案:

答案 0 :(得分:0)

您不需要在过滤器返回的函数中注入任何内容。

更改

var UpperCase = (function() {
  /*@ngInject*/
  function UpperCase(input) {

var UpperCase = (function() { 
  function UpperCase(input) {