我正在尝试使用provider
来设置并获取控制器中的值。但我不清楚如何在这里使用provider
。
任何人都可以帮助我使用provider
和config
选项。我想知道provider
和config
之间的关系。
这是我的尝试,它会抛出错误:
var app = angular.module('plunker', []);
app.value("person", {'name':"arif"});
app.constant("env", {url:"production"});
app.provider("book", function(){ //declaring provider
var version;
return {
setVersion : function(value){
version = value;
},
$get : function(school){
return {
"newVersion" : "title" + ':' + version
}
}
}
});
app.config(function(newBook){ //setting a new value
newBook.setVersion = "4.0";
});
app.controller('MainCtrl', function($scope, person, env, book) {
$scope.name = env.url;
$scope.value = person.name;
$scope.version = book; //i am not getting the new value here.
});
答案 0 :(得分:2)
正如我的评论中提到的那样......
app.config(function(bookProvider){
bookProvider.setVersion("4.0");
});
我必须删除丢失的school
注入以使其工作,但你应该得到图片。
已修复〜http://plnkr.co/edit/6Sb6rOSvA7ihvTLPTujY?p=preview
有关提供商配方的详细信息,请参阅https://docs.angularjs.org/guide/providers#provider-recipe。
有关.provider()
文档的详情,请参见https://docs.angularjs.org/api/auto/service/$provide#provider,
注意:提供商将在
name + 'Provider'
密钥下提供。