【问题标题】:initialized without binding with angular初始化时没有与角度绑定
【发布时间】:2014-08-07 06:37:32
【问题描述】:

我需要在没有绑定的情况下进行初始化。

我尝试了以下方法。但我没有成功

$scope.emptyRow = $scope.newsCategories[1];
$scope.newsCategories[1].Name = "yes";
$scope.emptyRow.Name = "test";
alert($scope.emptyRow.Name); // alert => test
alert($scope.newsCategories[1].Name);// alert => test

我需要这个:

$scope.emptyRow = $scope.newsCategories[1];
$scope.newsCategories[1].Name = "yes";
$scope.emptyRow.Name = "test";
alert($scope.emptyRow.Name); // alert => test
alert($scope.newsCategories[1].Name);// alert => yes

如何做到这一点?

【问题讨论】:

    标签: angularjs binding


    【解决方案1】:

    这与绑定无关,而是基本的javascript。

    线路:$scope.emptyRow = $scope.newsCategories[1];

    明确表示您希望 $scope.emptyRow$scope.newsCategories[1] 指向完全相同的对象。因此,当您更改其中一个的子值(如Name)时,它会影响另一个。

    您似乎希望能够复制有问题的对象。为此,您可以使用angular.copy()。在您的情况下使用的示例是:

    $scope.emptyRow = angular.copy($scope.newsCategories[1]);
    

    阅读here了解更多信息。

    【讨论】:

      猜你喜欢
      • 2014-11-16
      • 2023-03-04
      • 1970-01-01
      • 2019-03-07
      • 2021-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-06
      相关资源
      最近更新 更多