Extjs 6使用Ext.define定义链式存储

flo*_*rin 4 extjs extjs4 extjs6 extjs6-classic

可以使用Ext.define语句定义链接存储吗?我尝试了以下代码,但出现错误:

Ext.define('MyProject.store.RelFiltered', {
    extend: 'Ext.data.ChainedStore',
    source:'MyProject.store.Rel',
    alias: 'store.releasesFiltered'
});
Run Code Online (Sandbox Code Playgroud)

我收到的错误是:

Ext.data.ChainedStore.applySource(): Invalid source "MyProject.store.Rel" specified for Ext.data.ChainedStore
Run Code Online (Sandbox Code Playgroud)

Ext.mixin.Bindable.applyBind(): Cannot use bind config without a viewModel
Run Code Online (Sandbox Code Playgroud)

我从这篇文章中得到了想法,但是似乎代码是不完整的。

谢谢

pag*_*gep 5

可以使用Ext.define语句定义链接存储吗?

绝对可以。但源配置中的连锁专卖店说,它应该是一个存储实例或现有店铺的ID。

因此,代码如下所示:

Ext.define('MyApp.store.MyChainedStore', {
    extend: 'Ext.data.ChainedStore',

    storeId: 'MyChainedStore',
    //source using storeID
    source: 'OriginalStore'

});

Ext.define('MyApp.store.OriginalStore', {
    extend: 'Ext.data.Store',

    requires: [
        'Ext.data.field.Field'
    ],

    storeId: 'OriginalStore',
    data: [{
        id: 1,
        name: 'commodi'
    }],
    fields: [{
        name: 'id'
    }, {
        name: 'name'
    }]
});
Run Code Online (Sandbox Code Playgroud)

看看这个小提琴例子https://fiddle.sencha.com/#view/editor&fiddle/1kk4