javascript - angularjs中value和constant的区别(主要是能不能修改的问题)
问题描述
在网上查找angularjs全局变量value和constant的区别,答案基本上都是千篇一律1.value不可以在config里注入,但是constant可以2.value可以修改,但是constant不可以修改,一般直接用constant配置一些需要经常使用的数据。
第一点没什么问题,但是第二点 这个constant不可以修改是什么意思?是哪里不能修改
<!DOCTYPE html><html lang='en' ng-app='myapp' ><head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' /><title></title><script src='https://www.haobala.com/wenda/Scripts/jquery-1.10.2.js'></script><script src='https://www.haobala.com/wenda/base/angular.min.js'></script><script type='text/javascript'> var app = angular.module(’myapp’, []); app.constant(’myConstant’, { 'value1': '林炳文', 'value2': 'hello world', value3: 1 }); app.controller(’myCtrl1’, function ($scope, myConstant) {$scope.onclick1 = function () { $scope.value1 = myConstant.value1 + (++myConstant.value3); myConstant.value1 = $scope.value1; myConstant.value2 = $scope.value1;}; }); app.controller(’myCtrl2’, function ($scope, myConstant) {$scope.onclick2 = function () { $scope.value2 = myConstant.value2 + (++myConstant.value3); myConstant.value1 = $scope.value2; myConstant.value2 = $scope.value2;}; });</script>
</head>
<body> <p ng-controller='myCtrl1'> <button ng-click='onclick1()'>请点击我1</button> {{value1}} </p><p ng-controller='myCtrl2'><button ng-click='onclick2()'>请点击我2</button> {{value2}} </p></body>
</html>自己写了个小demo,明明在里面的constant变量可以修改(我这里测试的是一个对象,换成一个变量值也是可以修改的),不知道是我理解错误还是写错了地方,这个所谓的不可以修改到底是什么?
问题解答
回答1:angular.module(’myApp’, []).constant(’PI’, ’3.1415926’).config(function(PI) {}).value(’name’,’张三’)
constant就是相当于一个常量 constant可以在config的时候被注入使用 而value不行
相关文章:
1. windows误人子弟啊2. php传对应的id值为什么传不了啊有木有大神会的看我下方截图3. 如何用笔记本上的apache做微信开发的服务器4. python - linux 下用wsgifunc 运行web.py该如何修改代码5. 关于mysql联合查询一对多的显示结果问题6. 实现bing搜索工具urlAPI提交7. 冒昧问一下,我这php代码哪里出错了???8. mysql优化 - MySQL如何为配置表建立索引?9. MySQL主键冲突时的更新操作和替换操作在功能上有什么差别(如图)10. 数据库 - Mysql的存储过程真的是个坑!求助下面的存储过程哪里错啦,实在是找不到哪里的问题了。
