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」がありません。角度がないと $filter を注入できません。

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