为什么我定义一个像
这样的常量对象app.constant('TEST', { title: 'Hello' });
我在控制器中做了这个
var x = TEST;
x.title = 'Hello World';
console.log(TEST);
常数的值一直在变化?我读过angular的doc,它说常量不能改变它们的价值。
答案 0 :(得分:0)
如果常量值是原始值(即1,true,“appName”),则不能更改常量的值。然而,Angular 1.x是一个问题,如果常量是一个对象,它的属性仍然是可分配的。从语义上讲,是的,我们希望这些值永远不会改变,但框架不会对提供的对象进行任何包装,以防止开发人员对其进行变更。
你可以在这里阅读更多内容: http://ilikekillnerds.com/2014/11/constants-values-global-variables-in-angularjs-the-right-way/