Knockout.js 暂时保存淘汰视图模型并检索

Knockout.js 暂时保存淘汰视图模型并检索,knockout.js,Knockout.js,我试图将viewmodel存储在knockout js中的一个数组中,并单击按钮尝试重新加载保存的viewmodel。但是viewmodel中的所有观察对象都没有正确填充 装订如下 Category: <select id="ddlctgry" data-bind="options:categories,optionsCaption:'select',value:selCatgy"></select> </br>Model: <select id="dd

我试图将viewmodel存储在knockout js中的一个数组中,并单击按钮尝试重新加载保存的viewmodel。但是viewmodel中的所有观察对象都没有正确填充

装订如下

Category:
<select id="ddlctgry" data-bind="options:categories,optionsCaption:'select',value:selCatgy"></select>
</br>Model:
<select id="ddlmodel" data-bind="options:Products, optionsText:'modelName',optionsCaption:'-select-',value:selectedModel"></select>
</br>
<button id="add" type="button">Add New</button>
<button id="retold" type="button">Retrieve Old</button>
这是小提琴

首先,我从相应的下拉列表中选择类别和模型,如类别:'A3 MFP-A3 MFP',模型:'Phasor 6500',单击添加新按钮,我将应用程序视图模型保存到阵列并加载新的视图模型

在新视图模型(如类别:'Printers-Mono',型号:'3600'中进行选择后,如果单击检索旧按钮,类别下拉列表将正确绑定

但是模型下拉列表并没有使用以前存储的值


有谁能帮助我实现这一点吗?我如何从旧的viewmodel数据绑定模型。

您可以使用knockout mapping插件临时保存数据。您可以使用ko.mapping.toJS将viewmodel对象转储到临时对象中,或使用ko.mapping.toJSON将字符串转储到临时对象中,并在适当的时候重新加载这些值ko.mapping.fromJS/ko.mapping.fromJSON。我也尝试使用mapping插件,但在“检索旧”按钮单击后,模型下拉列表无法与旧选择绑定