使用不同的ViewModel映射Knockout.js Observable Array

时间:2014-04-11 14:06:47

标签: javascript knockout.js

我从服务器获得了以下示例响应(原始版本将更加嵌套)

{
   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 ..

0 个答案:

没有答案