angular 中的解除绑定范围 属性

unbinding scope property in angular

当我们从范围属性中赋值时,有没有办法取消绑定引用?

例如我有$scope.X和$scope.Y。在我的函数中的某个时刻,我想将当时 $scope.Y 的值分配给 $scope.X:

$scope.X = $scope.Y

但是,每当 scope.Y 发生变化时,$scope.X 看起来也会发生变化。有没有办法避免掉链子?我只想给$scope.Y赋值一次。

我尝试使用 angular 副本,但没有用:

$scope.X = angular.copy([$scope.Y])[0];

谢谢

angular.copy 应该生成对象的克隆。还有一些其他方法可能性能更好,请参阅 What is the most efficient way to deep clone an object in JavaScript? . I already use lodash for other stuff in my site so I use the _.cloneDeep 方法。