我从服务器获得了以下示例响应(原始版本将更加嵌套)
{
Widgets: [
{ type: 'Multivalue',value: ['val1','val2','val3'] },
{ type: 'OtherType',value: 'val', otherProp: 'prop' }
{ type: 'Text',value: 'text here' }
]
}
我知道可用的窗口小部件类型是什么,所以我为每个窗口小部件安装了ViewModel,如上所述:
var MultiValueVM = function(){
// some props
this.values = ko.observableArray()
}
var OtherValueVM = function(){
// some props
}
var TextValueVM = function(){
// some props
}
//More ViewModels for all types of widgets..
我的主要ViewModel
var MainVM = function(){
//some props
this.widgets = ko.observableArray();
}
我很困惑如何将不同对象的集合从服务器映射到我的MainVM.widgets,以便每个小部件都有自己的ViewModel ..