2

私は sencha の初心者で、現在のビューに応じてストアにパラメーターをロードしようとしています。

そのため、リストの初期化イベントをキャッチして、その中にストアをロードしようとしています。

しかし、初期化メソッドは起動していないようです

私のコントローラー

Ext.define('FifaKings.controller.MainController', {
    extend: 'Ext.app.Controller',

    config: {
        views: ['Main','InsertMatch','Kings'],
        models: ['Match','User','Team'],
        stores: ['Match','Team','User'],
        refs: [
            {
                ref: 'insertMatchForm',
                selector: '#insertMatchForm'
            }
        ]
    },

    init: function() {
        console.log('Initialized!');
        Ext.Viewport.add(Ext.create('FifaKings.view.Main'));

        this.control({
            'button[action=insertMatchSubmit]' : {
                tap: 'insertMatchForm'
            },
            'list[id=kingsLeagueList]' : {
                initialize: 'loadKingsMatches'
            }

        });

    },

    insertMatchForm : function(){
        var form = this.getInsertMatchForm();

        form.submit({
            url:'contact.php'
        });
    },

    loadKingsMatches : function(){
        console.log('shit is working');
    }
});

私の見解:

Ext.define('FifaKings.view.Kings', {
    extend: 'Ext.navigation.View',

    requires:[
        'Ext.dataview.List'
    ],
    xtype:'kingspanel',
    config: {
        title: 'Kings',
        iconCls: 'star',

        items: {
            xtype: 'list',
            id:'kingsLeagueList',
            itemTpl: new Ext.XTemplate(
                '<table width="100%" border="0">',
                    '<tr>',
                    '<td width=\"35%\">{Player1}</td>',
                    '<td width=\"30%\" align=\"center\">{ScorePlayer1} - {ScorePlayer2}</td>',
                    '<td width=\"35%\" align=\"right\">{Player2}</td>',
                    '</tr>',
                '</table>'
        ),
        store: 'Match'

        }

    }
});
4

1 に答える 1

0

リストを参照するには、次のようにする必要があります。

 this.control({
     'button[action=insertMatchSubmit]' : {
         tap: 'insertMatchForm'
     },
     'kingspanel list' : {
         initialize: 'loadKingsMatches'
     }
 });

2つの同一のコンポーネントを作成する必要がある場合に備えて、IDを操作することはありません。

お役に立てれば

于 2012-08-10T12:47:36.590 に答える