AngularJS 模型绑定在从
Posted
技术标签:
【中文标题】AngularJS 模型绑定在从【英文标题】:AngularJS model binding breaks when deleted from 【发布时间】:2014-03-03 14:36:24 【问题描述】:我正在构建一个 AngularJS 应用程序来创建多项选择测验。问题和相关选项被添加到以下模型中或从以下模型中删除。
$scope.testFormChoiceCount = [
question: '', choices: [
choice: '',
choice: '',
choice: ''
]
,
question: '', choices: [
choice: '',
choice: '',
choice: ''
]
,
];
我的问题案例是: 我添加了一个问题,并将一个新对象添加到模型数组中。然后,如果我删除例如第一个问题,模型绑定会中断,导致最后一个问题的输入在我尝试输入时抛出“b is undefined”错误。
我做错了整个 ng-model 绑定吗?谁能帮我解决这个问题。
小提琴: http://jsfiddle.net/D7M2Z/
这是我从模型数组中删除和对象的方法
$scope.removeQuestion = function(index)
$scope.testFormChoiceCount.splice(index, 1);
【问题讨论】:
它对我有用。删除所有问题后无法添加。 如果你删除所有问题,就没有模型可以建立了。这是我还没有阻止的事情。但是,如果您添加一个问题并删除前一个问题,则最后一个问题会中断。对此有什么想法吗? 【参考方案1】:这应该可以帮助你jsfiddle
在这一行:
for( var i=0; i<$scope.testFormChoiceCount[0].choices.length; i++ )
newobject.choices.push(new Object(choice : ''));
当您删除所有对象时,$scope.testFormChoiceCount[0].choices.length 没有值
【讨论】:
感谢您清除此问题。我最终不得不处理它。然而,这不是困扰我的问题。如果一开始您删除了第一个问题,则无法再写入剩余的选项字段。关于此绑定为何出错的任何想法? 这是错误的: 我没有时间,但是您需要考虑如何以其他方式解决 outerIndex,这会带来更多问题。如果你不解决这个问题,我稍后再试。 谢谢! outerindex 值确实存在问题。或者更好地说,我使用 ng-init。从较低的索引中删除对象后,choises-array 收到错误的值。以上是关于AngularJS 模型绑定在从的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Mongoose 模型与 angularjs 复选框绑定