Ext.Store可以包含一系列模型类型?
逻辑:
var myStore = Ext.create('Ext.data.Store', {
model: ['User3','User']
});
有可能吗?
答案 0 :(得分:2)
你无法做到这一点,但你可以有类似的效果创建一个新模型,让我们说User4
,其中包含User
和User3
的所有字段。
所以说明这个
Ext.define("Model", {
extend: "Ext.data.Model",
fields: ["name1", "name2"]
});
Ext.define("Model1", {
extend: "Ext.data.Model",
fields: ["name1"]
});
Ext.define("Model2", {
extend: "Ext.data.Model",
fields: ["name2"]
});
var store = Ext.create("Ext.data.Store", {
model: "Model"
});
var model1 = Ext.create("Model1", { name1: "Name 1" });
var model2 = Ext.create("Model2", { name1: "Name 2" });
store.add(model1);
store.add(model2);
这是demo。您也可以从Model1
数据中获取Model2
或Model
,如下所示:
store.each(function(record) {
console.log(record);
if (record.data.name1 != "")
console.log(Ext.create("Model1", record.data));
else
console.log(Ext.create("Model2", record.data));
});