2012-01-27 77 views
1

我正在嘗試關注此Sencha Touch 2 MVC示例:https://github.com/FrancisShanahan/SenchaTouch2MVCHelloworldSencha Touch 2 MVC列表事件接線

的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]); 
}, 
}); 

什麼是錯這裏的事件連接?

回答

1

我想通了。缺少的部分是:

this.control({ 
    'list' : { 
     itemtap : this.onStationSelect 
    } 
});