2

我在我的 angularjs 应用程序(用 Coffeescript 编写)中定义了一个非常简单的过滤器,如下所示:

userName = (user) ->
  (user?.match /^user:([^@]+)/)?[1] 

angular.module('myApp.filters', [])
  .filter('userName', -> userName)

我想在 myApp.services 模块中使用这个过滤器,如下所示:

class MyClassProvider
  this.$inject = ['$filter']
  constructor: ($filter) ->
    @user_filter = $filter 'userName'
    ... more code

angular.module('myApp.services', ['ngSanitize','ngResource','myApp.filters'])
  .provider('MyClassProvider', MyClassProvider)

但它会返回以下错误(开发人员控制台):

Uncaught Error: Unknown provider: $filter from myApp.services 

有人可以帮忙解决什么问题吗?

4

1 回答 1

1

您在 myApp.services 的全局依赖项中没有“ng”,如果没有 angular,就无法注入 $filter。

angular.module('myApp.services', ['ng', 'ngSanitize','ngResource','myApp.filters'])
  .provider('MyClassProvider', MyClassProvider)
于 2014-01-25T23:50:44.117 回答