Knockout.js 在knockout中使用ViewModels进行复杂数据绑定

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

更新我的问题我这里有一把小提琴http://jsfiddle.net/googlegovind/4hLw86of/

我想创建一个具有不同问题和选项的quizmodel。小提琴正在工作,但我需要在单击“下一步”按钮时出现的不同视图中的每个问题,如果单击“上一步”,我需要返回并编辑每个问题。我尝试了很多,但都不起作用。。
至少我想将此数据保存到一个数组中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));