Question: Angular.Copy does not allow me to create unique objects in a separate array

Question

Angular.Copy does not allow me to create unique objects in a separate array

Answers 0
Added at 2017-01-05 10:01
Tags
Question

I'm building a configurator in AngularJS that uses the object $scope.data to allow users to edit the object via the front-end. The user can then save this object to a separate array in $scope.builds, allowing them to have multiple configurations. Here is the function that adds another configuration to $scope.builds.

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

Unfortunately, despite using the angular.copy function, all of the objects in the array of $scope.builds seem to be the same $scope.data object duplicated over and over.

EDIT:

Here is an abridged version of what $scope.data looks like:

$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
                }
            ]
        }
    ];  
Answers to

Angular.Copy does not allow me to create unique objects in a separate array

Source Show
◀ Wstecz