2013-08-07 157 views
1

我試圖在表格格式中製作一個挖空映射的JSON模式編輯器。我成功地映射了json對象,但問題是當我正在處理json數組時。Knockout映射嵌套JSON數組

代碼

var l_Model; 
//Create model 
l_Model = function(l_data) { 
    var self = this; 
    //map data from json as observables 
    ko.mapping.fromJS(l_data, {}, self); 
    //observable to get equation from json 
    self.Eqn = ko.observable(null); 
}; 
//view model mapping to html 
var viewModelMapping = { 
    'dataModel': { 
     create: function(options) { 
      return new l_Model(options.data); 
     } 
    } 
}; 
var vm = ko.mapping.fromJS(Data); 

此代碼的工作,只要數據是

data = {} 

但是,當我處理JSON對象的數組,我不能夠映射它

data =[{},{},{},.....] 

我在控制檯中出現錯誤

Uncaught ReferenceError: Unable to parse bindings. 

JS Fiddle

+0

處理數據請編輯你的代碼的相關部分你的帖子,因爲如果是的jsfiddle下來沒有人能理解你的問題! – nemesv

+3

你的問題現在看起來好多了,但它仍然沒有包含足夠的細節,有人試圖解決你的問題。另一方面,你的小提琴包含的東西比需要的東西太多。請儘量將您的問題降至最低,因爲您當前的小提琴包含的代碼太多且太雜亂。沒有大量簡化,我懷疑任何人都會嘗試閱讀/理解並幫助解決您的問題。對於初學者而不是直接包含映射插件,您可以從cdnjs.com中引用它。 – nemesv

+0

更新了jsfiddle – Okky

回答

1

可以映射從陣列的根你的對象和處理的每個項目和分離的物體。你甚至可以有另一種映射你的對象中,並繼續與嵌套映射器

 //mapper method 
     mapCollection = { 
      '': { 
       create: function (options) { 
        return new objectWithAnotherMapper(options.data); 
       } 
      } 
     },