我对angularjs设置值有疑问并将其重置为默认值。
这是一个例子
$scope.defaultValue = {
a: 1,
b: 2
}
var dupValue = $scope.defaultValue;
...
function changeValue() {
dupValue.b = 3;
}
...
执行函数changeValue()
后,我希望将dupValue
更改回defaultValue
,我只需调用
dupValue = $scope.defaultValue;
有些怎么做不起作用。因为defaultValue
的元素由于我执行的函数而发生了变化。
有没有办法使这项工作?
答案 0 :(得分:5)
您不是要复制defaultValue,而只是分配对它的引用。因此,当您修改dupValue时,您还需要更改defautValue。
使用以下方式指定默认值:
dupValue = angular.copy($scope.defaultValue);
请参阅此fiddle