Extjs S收到:“;无法识别的别名:proxy.sessionStorage“;建成后
我进行了项目构建,但收到一个错误,我的应用程序无法识别会话存储Extjs S收到:“;无法识别的别名:proxy.sessionStorage“;建成后,extjs,sencha-cmd,Extjs,Sencha Cmd,我进行了项目构建,但收到一个错误,我的应用程序无法识别会话存储 proxy: { type: 'sessionstorage', id: 'sessionTimeline', reader: { type: 'json', rootProperty: 'query' } } 当我将类型更改为“memory”时,我的代码工作正常,但类型必须是sessionstorage,因为我希望在刷新页面时保存存储区中的所有数据 未捕获错误:[E
proxy: {
type: 'sessionstorage',
id: 'sessionTimeline',
reader: {
type: 'json',
rootProperty: 'query'
}
}
当我将类型更改为“memory”时,我的代码工作正常,但类型必须是sessionstorage,因为我希望在刷新页面时保存存储区中的所有数据
未捕获错误:[Ext.createByAlias]无法识别的别名:
proxy.sessionstorage
在Ext.Inventory.InstanceByAlias(app.js?_dc=1493205201288:13481)
在Object.createByAlias(app.js?_dc=1493205201288:5423)
在constructor.applyProxy(app.js?_dc=1493205201288:85923)
在constructor.setter[作为setProxy](app.js?_dc=1493205201288:9021)
在构造器上。(附录js?_dc=1493205201288:9000)
位于constructor.createImplicitModel(app.js?_dc=1493205201288:86564)
在constructor.applyFields(app.js?_dc=1493205201288:85893)
在constructor.setter[作为设置字段](app.js?_dc=1493205201288:9021)
在Ext.Configurator.configure(app.js?_dc=1493205201288:9610)
位于constructor.initConfig(app.js?_dc=1493205201288:11119)
我不知道出了什么问题,因为我的应用程序可以在构建之前识别会话存储,我尝试用多种方法修复这个错误,但确实很难,因为app.js很紧凑
我的会话存储代码:
Ext.define('ES.store.Timeline', {
extend: 'Ext.data.Store',
alias: 'store.timeline',
storeId: 'timeline',
fields: [{
name: 'vid',
type: 'int'
}, {
name: 'time',
type: 'string'
}, {
name: 'lat',
type: 'float'
}, {
name: 'lng',
type: 'float'
}, {
name: 'address',
type: 'string'
}, {
name: 'dir',
type: 'string'
}, {
name: 'vel',
type: 'string'
}, 'hidden'],
pageSize: 500,
autoSync: true,
sorters: [{
property: 'time',
direction: 'DESC'
}],
data: {
query: []
},
proxy: {
type: 'sessionstorage',
id: 'sessionTimeline'
},
filters: [{
property: 'hidden',
value: false
}]
});
我正在调用视图上的会话存储:
...
store: {
type: 'timeline'
},
...
我如何修复这个bug?谢谢。您的商店缺少一项要求:
requires:[
'Ext.data.proxy.SessionStorage'
]
这告诉ExtJS在构建存储之前加载文件
data/proxy/SessionStorage.js
。只有在加载data/proxy/SessionStorage.js
文件时,才会注册别名proxy.SessionStorage
,因此,代理工厂可以正确地实例化代理。你使用的是哪个extjs版本?我使用的是6.2.0版本如果你想使用json reader,那么你应该使用类型作为ajax。只要检查它是否工作正常我不再使用json reader了,对不起,我忘了删除这段代码,在我的新版本中,我只是添加了类型检查链接:。在这里,如果不指定类型,默认情况下,它将始终使用json作为读取器类型。