今天我正在审核this widget并找到以下方式to set property:
if (selected !== $scope.dropdownModel) {
angular.copy(selected, $scope.dropdownModel);
}
我想知道这种方法的好处是什么,而不是:
$scope.dropdownModel = selected;
答案 0 :(得分:1)
有时您希望拥有原始模型的副本,以便您可以将元素的模型重置为原始值,例如,如果您有表单并且用户对其进行了编辑,则决定取消更改,您如何将表单输入值还原为原始值?您需要原始模型的副本,因为模型和表单之间的绑定是双向的,对表单所做的所有更改都会影响模型,因此如果要回滚编辑,则需要原始模型的副本。 Angular.copy基本上从对象中删除引用并创建一个单独的副本。