Javascript 具有不同类型视图模型的敲除映射数组
具有不同类型项目的数组:Javascript 具有不同类型视图模型的敲除映射数组,javascript,knockout.js,knockout-mapping-plugin,Javascript,Knockout.js,Knockout Mapping Plugin,具有不同类型项目的数组: var items = [{{type:t1,text:"abc"},{type:t2,data:"123"}}] 和视图模型: function T1VM(t1) { ... } function T2VM(t2) { ... } 如何使用映射插件将项目映射到匹配视图模型的可观察数组?太简单了 var mapping = { create: function (options) { if (options.data.type == "T1"
var items = [{{type:t1,text:"abc"},{type:t2,data:"123"}}]
和视图模型:
function T1VM(t1) { ... }
function T2VM(t2) { ... }
如何使用映射插件将项目映射到匹配视图模型的可观察数组?太简单了
var mapping = {
create: function (options) {
if (options.data.type == "T1")
return new T1VM(options.data);
else if (options.data.type == "T2")
return new T2VM(options.data);
}
};
然后:
ko.mapping.fromJS(items, mapping);
“匹配视图模型”是什么意思?是否要将第一个视图模型映射到第二个视图模型?还是从第二个到第一个?或者您是否有第三个视图模型希望将其他两个映射到?类型为“t1”的对象应映射到T1VM等。。。