javascript - angularjs中value和constant的區(qū)別(主要是能不能修改的問(wèn)題)
問(wèn)題描述
在網(wǎng)上查找angularjs全局變量value和constant的區(qū)別,答案基本上都是千篇一律1.value不可以在config里注入,但是constant可以2.value可以修改,但是constant不可以修改,一般直接用constant配置一些需要經(jīng)常使用的數(shù)據(jù)。
第一點(diǎn)沒(méi)什么問(wèn)題,但是第二點(diǎn) 這個(gè)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='http://www.leifengta.com.cn/wenda/Scripts/jquery-1.10.2.js'></script><script src='http://www.leifengta.com.cn/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()'>請(qǐng)點(diǎn)擊我1</button> {{value1}} </p><p ng-controller='myCtrl2'><button ng-click='onclick2()'>請(qǐng)點(diǎn)擊我2</button> {{value2}} </p></body>
</html>自己寫(xiě)了個(gè)小demo,明明在里面的constant變量可以修改(我這里測(cè)試的是一個(gè)對(duì)象,換成一個(gè)變量值也是可以修改的),不知道是我理解錯(cuò)誤還是寫(xiě)錯(cuò)了地方,這個(gè)所謂的不可以修改到底是什么?
問(wèn)題解答
回答1:angular.module(’myApp’, []).constant(’PI’, ’3.1415926’).config(function(PI) {}).value(’name’,’張三’)
constant就是相當(dāng)于一個(gè)常量 constant可以在config的時(shí)候被注入使用 而value不行
相關(guān)文章:
1. boot2docker無(wú)法啟動(dòng)2. java - SSH框架中寫(xiě)分頁(yè)時(shí)service層中不能注入分頁(yè)類(lèi)3. docker-compose中volumes的問(wèn)題4. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””5. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.6. javascript - mock.js可以存儲(chǔ)數(shù)據(jù)嗎7. docker網(wǎng)絡(luò)端口映射,沒(méi)有方便點(diǎn)的操作方法么?8. javascript - vue生成一維碼?求助!!!!!急9. nignx - docker內(nèi)nginx 80端口被占用10. java - Spring事務(wù)回滾問(wèn)題

網(wǎng)公網(wǎng)安備