Angularjs:控制器内的默认值设置

Dea*_*ean 0 angularjs

我有一个关于angularjs设置值的问题,并将其重置为默认值.

这是一个例子

$scope.defaultValue = {
    a: 1,
    b: 2
}
var dupValue = $scope.defaultValue;

...

function changeValue() {
    dupValue.b = 3;
}

...
Run Code Online (Sandbox Code Playgroud)

在我执行该功能之后changeValue(),我希望将我的dupValue回复改为defaultValue我刚才所说的

dupValue = $scope.defaultValue;
Run Code Online (Sandbox Code Playgroud)

一些它是如何工作的.因为defaultValue我执行的功能导致元素发生了变化.

有没有办法使这项工作?

Kea*_*ort 5

您不是要复制defaultValue,而只是分配对它的引用.因此,当您修改dupValue时,您还可以更改defautValue.

使用以下方式分配默

dupValue = angular.copy($scope.defaultValue);
Run Code Online (Sandbox Code Playgroud)

看到这个小提琴