4

为什么这个例子不起作用?jsfiddle 我得到错误什么提供者没有找到。

var m1 = angular.module('m1', [])
    .provider('test', function() {
        return {
            $get: function() {
                return 'Hello from provider';
            }
        }
     });

var m2 = angular.module('m2', ['m1'])
    .config(['test', function(test) {
        alert(test);
    }]);
4

1 回答 1

3

config您无权访问的功能中,尝试使用该run方法。

var m2 = angular.module('m2', ['m1'])
  .run(['test', function(test) {
    alert(test);
  }]);

你在函数中可以访问的config是服务提供者,test所以你可以做

var m2 = angular.module('m2', ['m1'])
  .config(['testProvider', function(test) {
    alert(test);
  }]);

这通常是如果您想为您的测试服务提供某种特定于 m2 模块的配置。

于 2013-10-05T10:58:28.427 回答