您的位置:首頁技術文章
文章詳情頁

javascript - angularjs中value和constant的區別(主要是能不能修改的問題)

瀏覽:104日期:2024-03-06 18:56:57

問題描述

在網上查找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='http://www.wxshucaidpc.com/wenda/Scripts/jquery-1.10.2.js'></script><script src='http://www.wxshucaidpc.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不行

標簽: JavaScript
相關文章:
国产综合久久一区二区三区