淘汰JS,推动对象'儿童财产不受约束

时间:2014-03-23 23:53:12

标签: .net knockout.js

我正在使用KnockoutJS处理.NET应用程序。 .NET中的ViewModel使用knockout.mapping-latest.js进行映射。这是demo

最初绑定的对象工作正常,所有“删除”事件都有效。但是当添加一个新对象(例如SheetA)时,remove事件适用于SheetA,但SheetA的子属性事件失败(例如SheetA.LineOfQuestions)。

请点击页面底部的“添加工作表”按钮,您会看到正在推送的一些数据,然后点击“删除一组问题”按钮,您将看到异常

未捕获TypeError:对象[object Array]没有方法'remove'

1 个答案:

答案 0 :(得分:0)

AddDummySheet中的回调将结果JSON对象直接推送到Sheets observableArray中,因此该对象模型都不包含observable。

在将结果添加到Sheets observable Array

之前,您需要将结果映射到observables
success: function(result) {
    console.log(result);
    self.mysurvey.questionarie.Sheets.push(ko.mapping.fromJS(result));
}