2017-03-11 48 views
0

我试图让角材料的电流组芯片。 然而,当我取出芯片,目前芯片的数组列表,是不是更新的列表时,我不得不使用它。值不进行更新,angularjs

该芯片从数组列表中删除时$ scope.remove被调用,但是当我打电话的功能loadData(),列表仍含有被移除的切屑旧的。

var self = this; 

     self.selectedScreenNames = [ 
      { 
       'name': 'one' 
      }, 
      { 
       'name': 'two' 
      } 
     ]; 


     $scope.remove = function(chip) { 
      var index = self.selectedScreenNames.indexOf(chip); 
      self.selectedScreenNames.splice(index, 0); 
     }; 

     $scope.loadData = function() { 
      console.log(self.selectedScreenNames) //This array still contains two values, after the remove has been called 
     } 

回答

0

splice()的第二个参数是要删除的元素的数量。你传递0,所以没有被删除。 splice功能的

0

更改第二个参数1

$scope.remove = function(chip) { 
    var index = self.selectedScreenNames.indexOf(chip); 
    self.selectedScreenNames.splice(index, 1); 
};