javascript - angularjs中value和constant的区别(主要是能不能修改的问题)
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-06-08 11:02:13
0
1
1162

在网上查找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="Scripts/jquery-1.10.2.js"></script>
<script src="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不行

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板