2017-04-26 36 views
-1

后我做了我的项目构建和我收到一个错误,我的应用程序不识别会话存储。sReceiving:“无法识别的别名:proxy.sessionStorage”构建

proxy: { 
    type: 'sessionstorage', 
    id: 'sessionTimeline', 
    reader: { 
     type: 'json', 
     rootProperty: 'query' 
    } 
    } 

当我将类型更改为“记忆”我的代码工作正常,但类型必须是sessionStorage的,因为我想从我的店里保存保存所有的数据,当我刷新我的网页。

Uncaught Error: [Ext.createByAlias] Unrecognized alias: proxy.sessionstorage at Ext.Inventory.instantiateByAlias (app.js?_dc=1493205201288:13481) at Object.createByAlias (app.js?_dc=1493205201288:5423) at constructor.applyProxy (app.js?_dc=1493205201288:85923) at constructor.setter [as setProxy] (app.js?_dc=1493205201288:9021) at constructor. (app.js?_dc=1493205201288:9000) at constructor.createImplicitModel (app.js?_dc=1493205201288:86564) at constructor.applyFields (app.js?_dc=1493205201288:85893) at constructor.setter [as setFields] (app.js?_dc=1493205201288:9021) at Ext.Configurator.configure (app.js?_dc=1493205201288:9610) at constructor.initConfig (app.js?_dc=1493205201288:11119)

我不知道怎么回事错了,因为我的应用程序可以在编译之前识别会话存储,我试图解决在许多方面这个bug,但真的很难,因为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?谢谢。

+0

您使用哪个extjs版本? – Tejas

+0

我正在使用6.2.0版本 – Tony

+0

如果你想使用json阅读器,那么你应该使用类型作为ajax.Just检查,如果它的工作正常 – Tejas

回答

0

你缺少一个需要在您的商店:

requires:[ 
    'Ext.data.proxy.SessionStorage' 
] 

这告诉ExtJS的建店之前加载文件data/proxy/SessionStorage.js。只有当加载data/proxy/SessionStorage.js文件时,才会注册别名proxy.sessionstorage,因此代理工厂可以正确实例化代理。