如何在parse.com + AngularJS中使用for循环保存数组中的每个对象?

时间:2015-11-12 21:04:13

标签: javascript angularjs parse-platform

我正在使用AngularJS和Parse.com。我想保存数组中的所有对象。 但为什么数组上的所有元素都没有保存?

var ActivityContact = Parse.Object.extend("ActivityContact");
var ActivityContactObject = new ActivityContact();

var count = $scope.addContList.length;
if(count > 0){
    for (var i = 0; i < count; i++) {
        $scope.addContList[i].activityId = actObj.id;
        ActivityContactObject.save( JSON.parse(
          angular.toJson($scope.addContList[i]))).then(function (ActContObj) {
            console.log("ActivityContact Saved - Object: ");
            console.dir(ActContObj);
        });
    }
}

这是我在检查员身上得到的: https://db.tt/fDFuC83f

只保存一个元素,然后更新它。

+++

非主题,但如果您知道,JSON.parse(angular.toJson($scope.addContList[i]))是摆脱Angular注入的$$hashKey的唯一方法吗?

1 个答案:

答案 0 :(得分:0)

我以这种方式解决它,我不知道这是否是最好的方法,但它有效。我接受改善它的建议。

var ActivityContact = Parse.Object.extend("ActivityContact");
var list = [];
var count = $scope.addContList.length;
if(count > 0){
    for (var i = 0; i < count; i++) {
        var ActivityContactObject = new ActivityContact();
        $scope.addContList[i].activityId = actObj.id;
        ActivityContactObject.set(JSON.parse(angular.toJson($scope.addContList[i])));
        list.push(ActivityContactObject);
    }
    Parse.Object.saveAll(list).then(function(results){
        console.log("Objects were saved!");
    },function(eerror){
        console.log(eerror);
    });
}

关闭主题:我仍然想知道这是否(JSON.parse(angular.toJson($ scope.addContList [i])))解决$$ hashKey的最佳方法......