我试图了解Hows提供程序的工作原理,我在angularjs文档中进行了测试,并编写了一个简单的提供程序:
(function( window, angular, undefined ){"use strict";
function MyProviderExample(foo)
{
this.testdrive = function()
{
console.log(foo);
}
console.log("init");
}
angular.module('app',[])
.provider('$myProvider',function (){
var foo = "bar";
this.$get = function()
{
return new MyProviderExample(foo);
}
console.log("ey....");
}).config(function($myProvider){
console.log("wut");
$myProvider.foo = "foo";
});
})(window, window.angular);
当我运行代码时总是返回
Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to:
Error: [$injector:unpr] Unknown provider: $myProvider
我试图了解失败但我无法看到我的错误,如果有人可以帮助我欣赏
答案 0 :(得分:0)
我认为您需要从function($myProvider)
部分删除.config
。像这样:
angular.module('app', [])
.provider('$myProvider', function () {
this.$get = function () {
// --
}
console.log("loaded $myProvider");
})
.config(function(){
console.log("loaded config");
})
.controller('Main',
function main() {
console.log('loaded mycontroller')
});
你想用$ myProvider.foo = "foo";
做什么?