【问题标题】:angularjs scope two values keeping pointing to each otherangularjs作用域两个值保持相互指向
【发布时间】: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


【解决方案1】:

您可以使用angular.copy(source, [destination]);

var items= "YourValue";
angular.copy(items, $scope.order.invoicewindow.items);
$scope.order.invoicewindow.items = angular.copy(items); //Or You can also use this style

【讨论】:

    猜你喜欢
    • 2013-07-09
    • 2021-09-15
    • 1970-01-01
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    • 2017-12-30
    • 2014-03-03
    相关资源
    最近更新 更多