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 相关文章推荐
js实现宇宙星空背景效果的方法
Mar 03 Javascript
在jQuery中处理XML数据的大致方法
Aug 14 Javascript
jQuery插件简单学习实例教程
Jul 01 Javascript
js 获取元素所有兄弟节点的实现方法
Sep 06 Javascript
Vue.js路由组件vue-router使用方法详解
Dec 02 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
Nov 01 Javascript
原生JS实现图片懒加载之页面性能优化
Apr 26 Javascript
Echarts地图添加引导线效果(labelLine)
Sep 30 Javascript
解决vue.js提交数组时出现数组下标的问题
Nov 05 Javascript
Javascript表单序列化原理及实现代码详解
Oct 30 Javascript
前端JavaScript大管家 package.json
Nov 02 Javascript
使用Ajax实现进度条的绘制
Apr 07 Javascript
微信小程序左右滑动切换页面详解及实例代码
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 empty函数判断mysql表单是否为空
2010/04/12 PHP
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
2014/07/29 PHP
PHP 生成N个不重复的随机数
2015/01/21 PHP
javascript 文档的编码问题解决
2009/03/01 Javascript
JQuery中根据属性或属性值获得元素(6种情况获取方法)
2013/01/17 Javascript
jQuery实现的图片分组切换焦点图插件
2015/01/06 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
2016/01/29 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
JS Ajax请求如何防止重复提交
2016/06/13 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
2017/03/14 Javascript
Angular4项目中添加i18n国际化插件ngx-translate的步骤详解
2017/07/02 Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
2017/09/04 Javascript
vue+vuex+axios实现登录、注册页权限拦截
2018/03/09 Javascript
vue-cli 构建骨架屏的方法示例
2018/11/08 Javascript
详解js静态检查工具eslint配置文件
2018/11/23 Javascript
qrcode生成二维码微信长按无法识别问题的解决
2019/04/04 Javascript
vue实现搜索过滤效果
2019/05/28 Javascript
微信小程序实现拍照画布指定区域生成图片
2019/07/18 Javascript
使用Vue实现一个树组件的示例
2020/11/06 Javascript
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
Django卸载之后重新安装的方法
2017/03/15 Python
浅谈用VSCode写python的正确姿势
2017/12/16 Python
Django 解决阿里云部署同步数据库报错的问题
2020/05/14 Python
Python类型转换的魔术方法详解
2020/12/23 Python
HTML5制作表格样式
2016/11/15 HTML / CSS
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
如何查看在weblogic中已经发布的EJB
2012/06/01 面试题
档案室主任岗位职责
2014/02/12 职场文书
业务员简历自我评价
2014/03/06 职场文书
服务标兵事迹材料
2014/05/04 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
学校少先队工作总结
2015/08/12 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
导游词之临安白水涧
2019/11/05 职场文书