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相关推荐

  1. Angularjs 设置全局变量的3种方法

    Angularjs自身有二种,设置全局变量的方法,在加上js的设置全局变量的方法,总共有三种.要实现的功能是,在ng-app中定义的全局变量,在不同的ng-controller里都可以使用. 1.通过 ...

  2. 简述angular中constant和$filter的用法

    这里是修真院前端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析前端知识/技能,本篇分享的是: [简述angul ...

  3. angularjs控制器之间的数据共享与通信

    1.可以写一个service服务,从而达到数据和代码的共享; var app=angular.module('app',[]);app.service('ObjectService', [Object ...

  4. angular4设置全局变量_angularjs 设置全局变量的7种方法

    在ng-app或控制器中定义的全局变量,在不同的controller里都可以使用. 1,通过var 直接定义global variable,这根纯js是一样的. 2,用angularjs value来 ...

  5. angular中如何定义全局变量_angularjs 设置全局变量的方法

    angularjs 设置全局变量的3种方法 angularjs自身有二种,设置全局变量的方法,在加上js的设置全局变量的方法,总共有三种.要实现的功能是,在ng-app中定义的全局变量,在不同的ng- ...

  6. angular6 设置全局变量_Angularjs 设置全局变量的方法总结

    AngularJS 设置全局变量的三种方法 angularjs自身有二种,设置全局变量的方法,在加上js的设置全局变量的方法,总共有三种.要实现的功能是,在ng-app中定义的全局变量,在不同的ng- ...

  7. angular6 设置全局变量_angularjs 设置全局变量的3种方法

    angularjs 设置全局变量的3种方法 angularjs自身有二种,设置全局变量的方法,在加上js的设置全局变量的方法,总共有三种.要实现的功能是,在ng-app中定义的全局变量,在不同的ng- ...

  8. 转: 理解AngularJS中的依赖注入

    理解AngularJS中的依赖注入 AngularJS中的依赖注入非常的有用,它同时也是我们能够轻松对组件进行测试的关键所在.在本文中我们将会解释AngularJS依赖注入系统是如何运行的. Prov ...

  9. 【开源】分享一个前后端分离方案-前端angularjs+requirejs+dhtmlx 后端asp.net webapi

    一.前言 半年前左右折腾了一个前后端分离的架子,这几天才想起来翻出来分享给大家.关于前后端分离这个话题大家也谈了很久了,希望我这个实践能对大家有点点帮助,演示和源码都贴在后面. 二.技术架构 这两年a ...

最新文章

  1. 软件质量保证与测试笔记——江湖救急版
  2. DataTable.DataRow的复制
  3. 创业路上有指引,永洪CEO给企业服务型创业公司的融资建议
  4. Java如何校验中文乱码_java如何判断是否中文乱码
  5. C# 使用Awaiter
  6. YBTOJ:求好元素(哈希表)
  7. 【报告分享】2021人才资本趋势报告:重塑时代-BOSS直聘.pdf(附下载链接)
  8. Oracle数据库详解(超详细)
  9. 多通道波形记录仪自动化计量校准软件NSAT-3070
  10. java webservice请求参数_Java调用WebService的方法总结
  11. Mac安装原版Windows7无法验证AppleSSD.sys文件数字签名解决办法
  12. 身份证,邮箱等的验证
  13. 读JQuery 有感
  14. vue 路由二级跳转三级路由,路径变化页面没变
  15. java进阶--深入理解Java自动装箱拆箱机制(Autoboxing and unboxing)
  16. 原生Poi导出Excel
  17. odrive搭建差速小车+轮毂电机+RC航模控制器
  18. relpos函数解读
  19. 论文修改内容,第一篇
  20. 规则引擎在营销中的促销返利起到什么作用?

热门文章

  1. win7计算机管理找不到文件夹,Win7系统打开组策略提示找不到文件gpedit.msc怎么办...
  2. ajax的url怎么将后缀补上_蜂蜜杏仁怎么做?杏仁和蜂蜜腌制方法
  3. js input 自动换行_深入Slate.js - 拯救 ContentEditble
  4. 如何查看电脑显卡配置_3080显卡电脑配置清单(3700X/10700)
  5. c语言7.5return的值是,这个真心搞不懂了。求助
  6. 怎么样开会才有效果?
  7. PHP 中文文件名 空格等 CURL 读取
  8. MVC5 + EF6 + Bootstrap3
  9. Hive高级用法汇总
  10. java POI 写入百万数据到 excel