存储模型类型的数组

时间:2014-09-27 06:36:06

标签: extjs

Ext.Store可以包含一系列模型类型?

逻辑:

var myStore = Ext.create('Ext.data.Store', {
    model: ['User3','User']
});

有可能吗?

1 个答案:

答案 0 :(得分:2)

你无法做到这一点,但你可以有类似的效果创建一个新模型,让我们说User4,其中包含UserUser3的所有字段。

所以说明这个

    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数据中获取Model2Model,如下所示:

    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)); 
    });