我在angularjs app中定义了一个非常简单的过滤器(用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
有人可以帮助解决问题吗?
答案 0 :(得分:1)
myApp.services中的全局依赖项中没有'ng',你不能在没有角度的情况下注入$ filter。
angular.module('myApp.services', ['ng', 'ngSanitize','ngResource','myApp.filters'])
.provider('MyClassProvider', MyClassProvider)