0

ここに問題があります。私はMVCを使用しており、app.jsで宣言したストアがいくつかあります。

しかし、今度はログイン検証を行う必要があり、サーバーから応答を受け取った後にのみストアをロードしますが、アプリのロード時にapp.jsに宣言を残すと、すべてのストアが自動的にロードされます。

これが私のアプリがやらなければならないことです:

LoginView検証を行います。検証が成功すると、ビューがに変更されますListView。このビューには、ストアからデータをロードするリストがあり、このビューは他のリストを使用して他のビューを作成できます。

のストアを要求しようとしましたが、ListViewエラーが発生しcannot call method getCount of nullます。

それを機能させるために私は何ができますか。助けてくれてありがとう。

ここにいくつかのコードがあります:

Ext.define("App.view.Listview", {
extend: 'Ext.Container',
xtype: 'listview',

requires: ['App.view.Listviewdetails',
    'App.view.Filtros.FiltroJanelaPrincipal.Janelafiltrotiempoview',
    'App.view.Menuview',
    'App.view.Resultadopesquisaview',
    'App.view.Pesquisaview',
    'App.view.Maisinfousuarioview',
    'Ext.Label',
    'Ext.field.Search',
    'App.store.Tiempos',
    'App.store.Empresas',
    'App.store.Produtos',
    'App.store.Usuarios',
    'App.store.FiltrosEvento',
    'App.store.Historicos',
    'App.store.Pesquisas'
],

config: {
    id: 'listView',
    layout: 'card',
    items: {
        layout: 'vbox',
        id: 'listaEventos',
        items: [
            {
                xtype: 'list',
                id: 'listaTiempos',
                flex: 6,
                emptyText: 'Empty',
                store: 'Tiempos',
                itemTpl: '{dataTermino} {descricaoPrevia}'
            }
        ]
    }

と店舗の1つ:

Ext.define("App.store.Tiempos",{
extend: 'Ext.data.Store',

config: {
    model: 'App.model.Tiempo',
    autoLoad: true,
    proxy: 'searchProxy'
}

});

4

1 に答える 1

0

それぞれのビュー クラスで必要なストアを追加できます。app.js への追加は必須ではありません。そのため、ビューがインスタンス化されるときにログインした後、ストアは自動的にロードされます。

于 2012-12-10T12:06:59.453 に答える