如何在Angularjs中删除不需要的数据绑定

时间:2014-08-25 13:45:22

标签: angularjs

我有一个angularjs网页,允许我编辑一些字段。我从我的数据库加载数据,在页面中编辑它然后将修改后的数据保存回数据库。 DB api要求我提交修改现有的DB数据和修改后的数据。不幸的是,当我保存现有数据时,它与我不想做的改变有关!

function providerCtrl($scope, $location, $routeParams, $http)
{
    $scope.getProvider = function () {
    $http.get(
    '/admin/api/'+$routeParams.channel+
    '/'+$routeParams.provider).success(function(data){
            inputData = data[0];//i want to save this initially but never have it     change again, unfortunately its binding with this $scope.settings field changes :-(
            $scope.settings = data[0];
        });
    }

    $scope.amendProvider = function (settings) {
    console.log($scope.inputData);
    var data = {'old': inputData, 'new' : $scope.settings}
    console.log(data);
    $http({
        url: '/admin/api/' + $routeParams.channel + '/' + $routeParams.provider,
        method: "PUT",
        data: {'old': inputData, 'new' : $scope.settings}
    })
    .success(function(data){
        });
    }

    $scope.settings = {};
    var inputData = {};
    $scope.getProvider();
}

1 个答案:

答案 0 :(得分:2)

  

当我保存现有数据时,它会绑定到我不想做的更改!

使用angular.copy()实用程序克隆新实例。

请参阅文档 HERE