AngularJS constant和value区别详解


Posted in Javascript onFebruary 28, 2017

angularJS可以通过constant(name,value)和value(name,value)对于创建服务也是很重要的。

相同点是:都可以接受两个参数,name和value。

区别:

1.constant(name,value)可以将一个已经存在的变量值注册为服务,并将其注入到应用的其他部分中。其中,name为注册的常量的名字,value为注册的常量的值或对象。

举例:

(1)value为值时:

angular.module('myApp') .constant('apiKey','123123123')
.controller('MyController', function($scope, apiKey) {
// 可以像上面一样用apiKey作为常量
// 用123123123作为字符串的值
$scope.apiKey = apiKey;
});

(2)value为对象时:

angular.module('myApp') .constant('apiKey',{name:[],age:[],date:[]})
.factory('myFactory',function(apiKey,$scope){
apiKey.name = "lyy";
});

2.value(name,value)的name同样是需要注册的服务名,value将这个值将作为可以注入的实例返回。

ngular.module('myApp')
.value('apiKey','123123123');

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

通常情况下,可以通过value()来注册服务对象或函数,用constant()来配置数据。

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

综上,当我们想要创建一个服务,并且这个服务只需要返回数据时,就可以使用constant(name,value)和value(name,value),不过,它们有两个显著的区别:

1.value不可以在config里注入,但是constant可以

2.value可以修改,但是constant不可以修改,一般直接用constant配置一些需要经常使用的数据。

以上所述是小编给大家介绍的AngularJS constant和value区别详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
老鱼 浅谈javascript面向对象编程
Mar 04 Javascript
基于jquery css3实现点击动画弹出表单源码特效
Aug 31 Javascript
基于JavaScript实现点击页面任何位置返回
Aug 31 Javascript
更靠谱的H5横竖屏检测方法(js代码)
Sep 13 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
Jul 24 Javascript
vue使用drag与drop实现拖拽的示例代码
Sep 07 Javascript
JS实现判断有效的数独算法示例
Feb 25 Javascript
Vue实现拖放排序功能的实例代码
Jul 08 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
Nov 26 Javascript
jQuery实现图片切换效果
Oct 19 jQuery
antd Select下拉菜单动态添加option里的内容操作
Nov 02 Javascript
jQuery实现购物车全功能
Jan 11 jQuery
微信小程序左右滑动切换页面详解及实例代码
Feb 28 #Javascript
微信小程序 使用腾讯地图SDK详解及实现步骤
Feb 28 #Javascript
Vue.js父与子组件之间传参示例
Feb 28 #Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
Feb 28 #Javascript
JS对象创建的几种方式整理
Feb 28 #Javascript
js仿淘宝评价评分功能
Feb 28 #Javascript
jQuery布局组件EasyUI Layout使用方法详解
Feb 28 #Javascript
You might like
第三章 php操作符与控制结构代码
2011/12/30 PHP
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
php中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
2018/12/06 PHP
jQuery 1.2.x 升? 1.3.x 注意事项
2009/05/06 Javascript
JavaScript 页面坐标相关知识整理
2010/01/09 Javascript
jQuery ajax(复习)—Baidu ajax request分离版
2013/01/24 Javascript
JS两种定义方式的区别、内部原理
2013/11/21 Javascript
常规表格多表头查询示例
2014/02/21 Javascript
jQuery中[attribute*=value]选择器用法实例
2014/12/31 Javascript
jQuery实现只允许输入数字和小数点的方法
2016/03/02 Javascript
jquery表格datatables实例解析 直接加载和延迟加载
2016/08/12 Javascript
Jquery获取radio选中的值
2017/05/05 jQuery
JS检测window.open打开的窗口是否关闭
2017/06/25 Javascript
JavaScript递归算法生成树形菜单
2017/08/15 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
vue store之状态管理模式的详细介绍
2019/06/13 Javascript
js消除图片小游戏代码
2019/12/11 Javascript
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
Python实现的检测网站挂马程序
2014/11/30 Python
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
Python标准库之Sys模块使用详解
2015/05/23 Python
python使用webdriver爬取微信公众号
2018/08/31 Python
解决python3 安装不了PIL的问题
2019/08/16 Python
python实现H2O中的随机森林算法介绍及其项目实战
2019/08/29 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
python中的 zip函数详解及用法举例
2020/02/16 Python
python编写实现抽奖器
2020/09/10 Python
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
网络工程师面试(三木通信技术有限公司)
2013/06/05 面试题
开办加工厂创业计划书
2014/01/03 职场文书
婚假请假条怎么写
2014/04/10 职场文书
大学毕业典礼演讲稿
2014/09/09 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
导游词之台湾阿里山
2019/10/23 职场文书