角度提供者的助手

时间:2016-07-11 15:10:32

标签: javascript angularjs

我有一些帮助函数,我需要在提供程序(outisde $ get)和配置阶段多次。当我不想在全球范围内写它时,我看到两个解决方案:

  • 自己的帮助提供者:

    app.provider('helper', function() {
      this.help = function() {
        // helper functionality
      }
    
      this.$get = function() {};
    });
    
    app.config(function(helperProvider) {
      helperProvider.help();
    });
    
  • 助手为常数:

    app.constant('help', function() {
      // helper functionality
    });
    
    app.config(function(help) {
      help();
    });
    

我不喜欢提供商解决方案,因为当我想使用它时我总是必须使用后缀提供程序,而我需要一个未使用的$ get方法。 所以我现在使用常量解决方案。

但是现在我遇到了一个新问题:我需要一个辅助工具,我需要帮助器。 angular.constant未使用进样器进行初始化。

当另一个帮助者(让它名为metaHelper)位于另一个模块(在exmaple helperModule中)时,我可以使用angular.injector

app.constant('help', function() {
  var metaHelper = angular.injector(['helperModule', 'ng']).get('metaHelper');
  metaHelper();
});

我现在这样做但感觉不对。什么是,当我在未来" metaHelpers"在同一模块?在角度上提供者/配置助手的最佳做法是什么?

由于

0 个答案:

没有答案