1

我试图以表格格式制作一个淘汰赛映射的 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小提琴

4

1 回答 1

1

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

       //mapper method
       mapCollection = {
            '': {
                create: function (options) {
                    return new objectWithAnotherMapper(options.data);
                }
            }
        },
于 2013-08-07T11:23:48.747 回答