Angular JS在循环中覆盖复制的对象

时间:2015-09-09 04:48:43

标签: javascript angularjs angularjs-scope

我正在尝试将对象复制到循环中的另一个对象中。但是在迭代时,复制的对象会被循环中的最后一个对象覆盖。我的代码看起来像

 $scope.createDashboradsforeachTab = function(dashboardData, eachTab) {  
        var dashboardslayoutArray = eachTab.dashlettes;
        dashboardData.dashletteBeansList = eachTab.dashlettes;  
        angular.forEach(dashboardslayoutArray,function(dashboardslayout) {
      dashboardData.dashletteBeansList = [];
      dashboardData.dashletteBeansList[0] = dashboardslayout;
      var dashletteIdInTab = dashboardslayout.dashletteId;
      if (dashboardslayout.dashletteId == 12) {
         $scope.dashboardDataForDrillDown = {};
         $scope.dashboardDataForDrillDown =  angular.copy(dashboardData);
      }
       //Rest of my code here
      });

    }

你可以清楚地看到nowTab现在包含一组dashlettes。现在我正在迭代每个小标题,而迭代我将dashlette对象分配给dashboardData对象。迭代iam将dashboardData对象复制到另一个对象为dashlette id 12.现在它已被正确复制我已经检查了调试。在下一次迭代中,dashletted id为13,我将其分配给dashboardData对象。现在我复制的对象也受到新的dashlette(13)对象的影响。请帮我解决这个问题,如何停止覆盖我复制的对象。

0 个答案:

没有答案