Knockout.js 在knockout中使用ViewModels进行复杂数据绑定
更新我的问题我这里有一把小提琴http://jsfiddle.net/googlegovind/4hLw86of/ 我想创建一个具有不同问题和选项的quizmodel。小提琴正在工作,但我需要在单击“下一步”按钮时出现的不同视图中的每个问题,如果单击“上一步”,我需要返回并编辑每个问题。我尝试了很多,但都不起作用。。Knockout.js 在knockout中使用ViewModels进行复杂数据绑定,knockout.js,data-binding,knockout-mapping-plugin,Knockout.js,Data Binding,Knockout Mapping Plugin,更新我的问题我这里有一把小提琴http://jsfiddle.net/googlegovind/4hLw86of/ 我想创建一个具有不同问题和选项的quizmodel。小提琴正在工作,但我需要在单击“下一步”按钮时出现的不同视图中的每个问题,如果单击“上一步”,我需要返回并编辑每个问题。我尝试了很多,但都不起作用。。 至少我想将此数据保存到一个数组中lastSavedJson中的数据如果您可以在html中添加一个fiddle,这将有助于获得一个可用的html。使用fiddle@supercool
至少我想将此数据保存到一个数组中lastSavedJson中的数据如果您可以在html中添加一个fiddle,这将有助于获得一个可用的html。使用fiddle@supercool更新了问题
var initialData = [{ "firstQuest": "",
"Options": [
{
"option": " ",
"coption": " "
}]
}];
var QuizModel = function(Questions) {
var self = this;
self.Questions = ko.observableArray(ko.utils.arrayMap(Questions, function(question) {
return { firstQuest: question.firstQuest,
// lastName: contact.lastName,
Options: ko.observableArray(question.option) };
}));
self.addQuest = function() {
self.Questions.push({
firstQuest: "",
Qtype:"",
Options: ko.observableArray()
});
};
self.removeQuest = function(question) {
self.Questions.remove(question);
};
self.addOption = function(question) {
question.Options.push({
option: " ",
coption: " "
// number: ""
});
};
self.removeOption = function(option) {
$.each(self.Questions(), function() { this.Options.remove(option) })
};
self.save = function() {
self.lastSavedJson(JSON.stringify(ko.toJS(self.Questions), null, 2));
};
self.lastSavedJson = ko.observable("");
};
ko.applyBindings(new QuizModel(initialData));