2017-04-26 9 views
-1

私のプロジェクトをビルドしました。エラーが発生しました。私のアプリはセッションストアを認識していません。受取人:ビルド後に「認識されないエイリアス: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)

私のアプリをビルドする前にセッションストレージを認識することができるので、私は間違っていただきましたかわからない、私は多くの方法でこのバグを修正しようとしたが、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' 
    }, 

... 

私はそのバグを修正するにはどうすればよいですか?ありがとうございました。

+0

どのextjsバージョンが使用していますか? – Tejas

+0

私は6.2.0のバージョンを使用しています – Tony

+0

json readerを使用する場合は、ajax.Justとしてタイプを使用してください。正しく動作するかどうかを確認してください。 – Tejas

答えて

0

あなたが不足しているが、あなたの店に必要です:

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

これは、店舗の建設前にファイルdata/proxy/SessionStorage.jsをロードするためのExtJSに指示します。 data/proxy/SessionStorage.jsファイルがロードされたときだけ、エイリアスproxy.sessionstorageが登録され、プロキシファクトリがプロキシを正しくインスタンス化できます。

関連する問題