Knockout映射嵌套的JSON数组



我试图制作一个表格式的敲除映射JSON模式编辑器。我成功地映射了json对象,但问题是当我处理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

您可以从数组的根映射对象,并处理每个项和分离的对象。您甚至可以在对象中有另一个映射器,并使用嵌套的映射器继续处理数据

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

最新更新