Angular.Copy不允许我在单独的数组中创建唯一对象

时间:2017-01-05 09:40:32

标签: javascript angularjs deep-copy

我在AngularJS中构建一个配置程序,它使用对象 $ scope.data 来允许用户通过前端编辑对象。然后,用户可以将此对象保存到 $ scope.builds 中的单独数组中,从而允许它们具有多个配置。以下是为 $ scope.builds 添加其他配置的功能。

$scope.addition = function(){
    var newData = angular.copy($scope.data);
    $scope.builds.push(newData);
}

不幸的是,尽管使用了 angular.copy 函数, $ scope.builds 数组中的所有对象似乎都是相同的 $ scope。数据对象一遍又一遍地重复。

编辑:

以下是 $ scope.data 的简略版本:

$scope.data = [
        {
            'title': 'Select your configuration',
            'required': true,
            'options': [
                {
                    'name': 'Option 1',
                    'select': true,
                    'filter': true
                }, {
                    'name': 'Option 2',
                    'select': false,
                    'filter': true
                }, {
                    'name': 'Option 3',
                    'select': false,
                    'filter': true
                }
            ]
        }, {
            'title': 'Select your configuration',
            'required': true,
            'options': [
                {
                    'name': 'Option 1',
                    'select': true,
                    'filter': true
                }, {
                    'name': 'Option 2',
                    'select': false,
                    'filter': true
                }, {
                    'name': 'Option 3',
                    'select': false,
                    'filter': true
                }
            ]
        }
    ];  

0 个答案:

没有答案