在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可以避免更改原始对象的值。

广告
将在 10 秒后关闭
bannerAds