使用`angular.copy`来设置模型 - 有什么好处?

时间:2015-02-05 17:05:03

标签: javascript angularjs

今天我正在审核this widget并找到以下方式to set property

if (selected !== $scope.dropdownModel) {
    angular.copy(selected, $scope.dropdownModel);
}

我想知道这种方法的好处是什么,而不是:

$scope.dropdownModel = selected;

1 个答案:

答案 0 :(得分:1)

有时您希望拥有原始模型的副本,以便您可以将元素的模型重置为原始值,例如,如果您有表单并且用户对其进行了编辑,则决定取消更改,您如何将表单输入值还原为原始值?您需要原始模型的副本,因为模型和表单之间的绑定是双向的,对表单所做的所有更改都会影响模型,因此如果要回滚编辑,则需要原始模型的副本。 Angular.copy基本上从对象中删除引用并创建一个单独的副本。