0

我无法弄清楚这一点。目前正在研究更多injection文档,但我不确定为什么这不起作用。在下面的示例中,myConstants.defaultPath记录为undefined

(function() {
  angular.module('my-constants', []).factory('myConstants', [
    function() {
      var service;
      return service = {
        defaultPath: '/aroute'
      };
    }
  ]);

}).call(this);


(function() {
  var app, config;

  app = angular.module('my-app', ["my-constants"]);

  config = function($routeProvider, $httpProvider, myConstants) {

    console.log(myConstants.defaultPath); // undefined

    return $routeProvider.otherwise({
      redirectTo: myConstants.defaultPath
    });
  };

  config.$inject = ['$routeProvider', '$httpProvider', 'myConstantsProvider'];

  app.config(config);

}).call(this);
4

1 回答 1

0

我建议您注册常量,module.constant它将在这两种config方法和任何其他方法中都可用。

angular.module('my-constants', []).constant('myConstants', {
  defaultPath: '/aroute'
})

注入配置(注意:myConstants不是myConstantsProvider):

config.$inject = ['$routeProvider', '$httpProvider', 'myConstants'];
于 2013-08-30T20:04:58.143 回答