我正在使用KnockoutJS处理.NET应用程序。 .NET中的ViewModel使用knockout.mapping-latest.js进行映射。这是demo
最初绑定的对象工作正常,所有“删除”事件都有效。但是当添加一个新对象(例如SheetA)时,remove事件适用于SheetA,但SheetA的子属性事件失败(例如SheetA.LineOfQuestions)。
请点击页面底部的“添加工作表”按钮,您会看到正在推送的一些数据,然后点击“删除一组问题”按钮,您将看到异常
未捕获TypeError:对象[object Array]没有方法'remove'
答案 0 :(得分:0)
AddDummySheet中的回调将结果JSON对象直接推送到Sheets observableArray中,因此该对象模型都不包含observable。
在将结果添加到Sheets observable Array
之前,您需要将结果映射到observablessuccess: function(result) {
console.log(result);
self.mysurvey.questionarie.Sheets.push(ko.mapping.fromJS(result));
}