Angular JS:使用不同的范围实例

时间:2015-05-05 13:55:57

标签: javascript angularjs

我们如何使用两个不同的范围对象实例

例如:

$scope.seriesdata = [
        [65, 59, 80, 81, 56, 55, 40],
        [28, 48, 40, 19, 86, 27, 90]
      ];
$scope.currentseries =  $scope.seriesdata;

现在如果我更新$ scope.currentseries,$ scope.series会自动更新。

例如:

$scope.currentseriesdata.splice(index,1);

这会更新$ scope.currentseriesdata和$ scope.seriesdata

在写这篇文章之前:我读了this

我不需要在工厂工作。

我只需要知道如何在控制器中使用不同的实例

2 个答案:

答案 0 :(得分:3)

在操作内容之前,只需复制内容:

$scope.currentseries = angular.copy($scope.seriesdata);

答案 1 :(得分:1)

这是因为您已经currentseries分配了seriesdata已引用的数组的slice引用。这意味着您有两个指向一个数组的变量。

您想使用$scope.currentseries = $scope.seriesdata.slice();

    let codeValueDict = ["us": "$", "it": "€", "fr": "€"]
    let sortedKeysAndValues = sorted(codeValueDict) { $0.0 < $1.0 }
    let keys = sortedKeysAndValues.map {$0.0 }
    let values = sortedKeysAndValues.map {$0.1 }