2

我试图在不创建模型的情况下创建一个新的空记录。

不小心我试图运行这个:

new new storeComp.model()

它确实有效!

任何人都知道任何解决方案或它是如何工作的答案?

谢谢!沙列夫

4

2 回答 2

8

未配置模型的商店将隐式创建一个匿名商店。这在implicitModel私有属性的文档中进行了解释(存储需要知道,因为如果它使用隐式模型,它必须在它本身被销毁时将其销毁)。

最后,这意味着您可以放心地期望任何商店都有模型支持。

于 2013-11-08T14:35:09.063 回答
1

对于关联商店,我遇到了同样的问题。为此,我使用了以下 JSON 格式来加载项目存储。因此,在关联(项目资源)存储中会自动创建空记录。

店铺:

Ext.define('App.store.Projects', {
   extend : 'Ext.data.Store',
   model : 'App.model.Project'
});

楷模:

Ext.define("App.model.Project", {
    extend: 'Ext.data.Model',
    idProperty : 'id',
    uses : ['App.model.ProjectResource'],
    fields: [
        { type: 'auto', name: 'id'},
        { type: 'number', name: 'customerid'},
        { type: 'string', name: 'projectcode'}
    ],
    associations: [
    {type: 'hasMany', model: 'App.model.ProjectResource', name: 'Resources', storeConfig: { remoteFilter: true }}
    ]
});

Ext.define("App.model.ProjectResource", {
    extend: 'Ext.data.Model',
    idProperty : 'id',
    fields: [
        { type: 'number', name: 'id'},
        { type: 'string', name: 'name'},
        { type: 'number', name: 'projectid'},
        { type: 'auto', name: 'resourceid'}
    ],

    associations : [
    {type : 'belongsTo', model: 'App.model.Project'}
    ]
});

JSON 格式:

 [
        {
            "id": "105",
            "customerid": "105",
            "projectcode": "ALN01",
            "Resources": {}
        }
]

使用空对象(如 )加载存储"Resources": {}将创建空模型。

于 2013-11-08T12:22:41.577 回答