我做错了什么? 根据文件,我应该能够注入provider到module.config......但我得到一个错误- “未知供应商”
provider
module.config
http://jsfiddle.net/g26n3/
(function () { "use strict"; angular.module("ab.core", []) .provider("ab.core.provider", function () { console.log("ab.core.provider - constructor"); this.$get = function () { console.log("ab.core.provider - get"); return { value: "test" }; } }) .config(["ab.core.provider", function (myProvider) { console.log("ab.core - config " + myProvider.value); }]) .run(function () { console.log("ab.core - run"); }); angular.module("ab", ["ab.core"]) .config(["ab.core.provider", function () { console.log("ab - config"); }]) .run(function () { console.log("ab - run"); }); angular.bootstrap(document, ['ab']); }());
实际上,我在这里有三个问题… 1)如何注入模块的ab.core.provider配置ab.core。 2)如何向模块ab.core.provider配置注入相同的提供程序()ab。 3)如果我将相同的提供程序注入到两个模块的配置中,它将是相同的提供程序实例,还是两个不同的实例?
ab.core.provider
ab.core
ab
谢谢!
您需要添加“ Provider”后缀,这是Angular知道的,但是就像shaunhusain在评论中说的那样,存在一些限制:
http://jsfiddle.net/g26n3/1/
angular.module("ab.core", []) .provider("ab.core.provider", function () { }) .config(["ab.core.providerProvider", function(p) { ... }] angular.module("ab", ["ab.core"]) .config(["ab.core.providerProvider", function(p) { ... }]
遵循命名约定,看起来不错, .provider('camelCase', ...)
.provider('camelCase', ...)