Sencha Touch 2 MVC список событий проводки - PullRequest
1 голос
/ 28 января 2012

Я пытаюсь следовать этому примеру Sencha Touch 2 MVC: https://github.com/FrancisShanahan/SenchaTouch2MVCHelloworld.

Событие onStationSelect не работает:

Ext.define('HelloWorld.controller.Home', {
extend: 'Ext.app.Controller',   
views: ['Home', 'SimpleList'],
stores: ['Stations'],
// These "refs" will generate "getters" for each of the view component instances
// e.g. getBottomField and getStationList
refs: [{
        selector: 'carousel > panel > #bottomInput',
        ref: 'bottomField'
        },
        {
        selector: 'carousel > list', 
        ref: 'stationList'
        }
],
init: function() {
    console.log('Init home controller');
    // Start listening for events on views
    this.control({
        // example of listening to *all* button taps
        'button': { 'tap': function () {
                    console.log('Every button says Hello world');
                } 
            },
        // Example of listening by an explicit id
        '#firstButton': { 'tap': function () {
                    console.log('Only the button with id=firstButton says Hello');
                    alert(this.getBottomField().getValue());
                } 
            }           
    });
},

onLaunch: function() {
    console.log('onLaunch home controller');
    // The "getter" here was generated by specifying the 
    // stores array (above)
    var stationsStore = this.getStationsStore();  

    stationsStore.load({
        callback: this.onStationsLoad,
        scope: this
    });
},

onStationsLoad: function() {
    console.log('onStationsLoad home controller');
    // get a reference to the view component
    var stationsList = this.getStationList();
    // do something
},

onStationSelect: function(selModel, selection) {
    // Fire an application wide event
    this.application.fireEvent('stationstart', selection[0]);
},
});

Что не так с проводкой событий здесь?

Ответы [ 2 ]

1 голос
/ 30 января 2012

Я понял это. Недостающая часть была:

this.control({
    'list' : {
        itemtap : this.onStationSelect
    }
});
0 голосов
/ 17 марта 2012

Сочетание этого поста и учебника 'Как создать приложение Sencha Touch 2, часть 1' помогло мне лучше понять control и refs в контроллере.Думал, что поделюсь.

...