【发布时间】:2014-06-18 04:48:03
【问题描述】:
您好,我正在尝试将范围值从一个范围复制到另一个范围。例如:
var items=$scope.order.invoicewindow.items;
$scope.order.orderwindow.items=items;
但是,两个范围都指向彼此。因此,如果我更改 $scope.order.orderwindow = "abc",$scope.order.invoicewindow.items 也会变为 "abc"(我不想要。我只想要 $scope.order.orderwindow = "abc") .
谢谢
【问题讨论】:
-
他们将指针传递给内存位置。将第二行改为 $scope.order.orderWindow.items = angular.copy(items);
-
这种情况是不可能的,“abc”是一个原始值(字符串),永远不会被引用分配。 javascript 仅通过引用分配对象,因此如果您需要对象的副本,则应使用
angular.copy。
标签: javascript jquery angularjs angularjs-scope angularjs-service