angularJS学习之路(二十七)---创建服务的五大方法---value

如果服务的$get()方法返回的是一个常量

那就没有必要定义一个包含复杂功能的完整服务

可以通过value()函数方便的注册服务

value方法接受两个参数:

name  字符串:需要注册的服务的名字

value 值,常量:将这个值作为可以注入的实例返回

value()方法:返回以name参数的值 为名称   的注册后的服务实例

angular.module('myApp',[]).value('appkey','123123123');

对比前面的constant 你会发现他们完全是一样的,就是函数的名称不一样而已,那么问题来了,这两者之前到底有什么区别呢,什么时候该用哪个呢?

最大的区别是:常量可以注入到配置函数(config)中,而值不行

也就是说value方法定义的服务,是不能被注入到  config的function依赖中的,

angular.module('myApp',[])
.constant('appkey','5555')
.config(function(appkey){
	//在这里appkey将被赋值为5555
	//就像上面的设置的那样
})
.value('FB','8888')
.config(function(FB){
	//这里将抛出一个异常,未知的provider:FB
	//因为在config函数内部无法访问这个值
});

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券