2016-11-24 47 views
0

不必要的角度值链接

图为一个编辑页面,可以使用的命令添加到列表,删除等。当用户单击更新按钮时,该值只应更新为实际数组。下面是我的一些代码:

$scope.editSchedule = function(index){ 
       console.log(index); 
     $scope.editScheduleValue = { 
     name: $scope.currentSchedule[index].name, 
     trigger: $scope.currentSchedule[index].trigger, 
     repeat: $scope.currentSchedule[index].repeat, 
     commandList: $scope.currentSchedule[index].commandList, 
     scheduleIndex: index 
     }; 
     var dailog = $uibModal.open({ 
      templateUrl: 'app/partials/edit-schedule.html', 
      controller: editScheduleController, 
      size: 'lg', 
      scope: $scope 
     }); 
    }; 

这是一个编辑按钮的范围,这将得到curremtSchedule阵列的实际值。

$scope.addCommand = function(){ 
    console.log("addCommand"); 
    $scope.addRoom = $scope.equipment[$scope.roomSelected].name; 
    $scope.addEquipment = $scope.equipment[$scope.roomSelected].equipment[$scope.equipmentSelected].name; 
    $scope.addEquipmentCommand = $scope.equipment[$scope.roomSelected].equipment[$scope.equipmentSelected].command[$scope.commandSelected].type; 
    $scope.editScheduleValue.commandList.push({ 
     room: $scope.addRoom, 
     equipment: $scope.addEquipment, 
     command: $scope.addEquipmentCommand 
    }) 
    }; 

这是我的添加命令按钮代码,它将数据推送到editScheduleValue数组。

HTML:

<tr ng-repeat="x in editScheduleValue.commandList" ui-tree-node> 
     <td style="width: 5%"><i class="glyphicon glyphicon-resize-vertical" ui-tree-handle></i> </td> 
     <td style="width: 5%">{{$index+1}}</td> 
     <td style="width: 30%">{{x.room}}</td> 
     <td style="width: 30%">{{x.equipment}}</td> 
     <td style="width: 30%">{{x.command}}</td> 
     <td> 
     <a class="pull-right btn btn-danger btn-xs" data-nodrag ng-click="remove(this)"> 
      <span class="glyphicon glyphicon-remove"></span> 
     </a> 
     </td> 
     </tr> 

我encouter是每当我删除,添加命令不仅editScheduleValue阵列更新,但currentSchedule阵列以及这个问题,我真不明白这是为什么2数组以某种方式链接。请帮忙~~~ 谢谢。

+0

你的更新功能在哪里? – superUser

+0

Suzo,我还没有写我的更新功能代码呢。 –

回答

0

我更换

commandList: $scope.currentSchedule[index].commandList,

随着

commandList: angular.copy($scope.currentSchedule[index].commandList), 

这2个阵列连接不上了,我不太明白为什么要这样,但这里的回答我的问题。