在Angular中,可以使用angular.copy来避免原型继承
JavaScript中的原型继承是什么?
如果将原始对象存储到新对象中,当新对象的值发生变化时,原始对象也会被修改。这个功能在使用Angular的Scope时非常方便,但在某些条件下可能会成为干扰因素,所以需要一些解决方法来避免这种情况。
原始对象
$scope.options = {1:'いぬ', 2:'うさぎ', 3:'ねこ'};
将选项储存在新对象中
$scope.value = $scope.options;
如果更改$scope.value的值,上述的存储方式将导致$scope.options的值也会被更改。
如果您不想更改$scope.options的值,当$scope.value的值发生变化时,请执行以下操作。
使用Angular.copy
$scope.value = angular.copy($scope.options);
使用angular.copy可以避免更改原始对象的值。