从中删除时,AngularJS模型绑定会中断

时间:2014-02-06 15:05:09

标签: javascript arrays angularjs model

我正在构建一个AngularJS应用程序来创建多项选择测验。问题和相关选项将添加到以下模型中或从中删除。

$scope.testFormChoiceCount = [
{question: '', choices: [
    {choice: ''},
    {choice: ''},
    {choice: ''}
  ]
},
{question: '', choices: [
    {choice: ''},
    {choice: ''},
    {choice: ''}
  ]
},
];

我的问题是: 我添加了一个问题,并在模型数组中添加了一个新对象。然后,如果我删除例如第一个问题,模型绑定中断导致最后一个问题的输入抛出“b is undefined”错误,当我尝试输入它们时。

我做整个ng模型绑定错了吗?任何人都可以帮我解决这个问题。

小提琴: http://jsfiddle.net/D7M2Z/

以下是我从模型数组中删除和对象的方法

$scope.removeQuestion = function(index){
  $scope.testFormChoiceCount.splice(index, 1);
}

1 个答案:

答案 0 :(得分:0)

这可以帮助您jsfiddle

在这一行:

   for( var i=0; i<$scope.testFormChoiceCount[0].choices.length; i++ ){
      newobject.choices.push(new Object({choice : ''}));
   }

删除所有对象时,没有$ scope.testFormChoiceCount [0]的值.choices.length