如果我有多级数据,例如:
{"tabs": [
"rows": [{
"id": 200,
"name": "B"},
{
"id": 300,
"name": "C"}]},...
我知道我可以使用以下代码扩展选项卡:
var myTabExtensions = function(data) {
ko.mapping.fromJS(data, {}, this);
this.addRow = function() {
var rowID = this.rows().length + 1;
this.rows.push(new Row(rowID, 'row ' + rowID));
}.bind(this);
};
var mapping = {
'tabs': {
key: function(data) {
return data.id;
},
create: function(options) {
return new myTabExtensions(options.data);
}
}
};
var viewModel = ko.mapping.fromJS(data, mapping);
...但是如何扩展每一行(不在根目录)?
我创建了一个更详细的jsFiddle 。在该示例中,我尝试在 HTML 中启用注释的 addRowFirst 链接。