我非常關注GeoCongress.us App中的代碼,因爲這是我的第一個Sencha Touch應用程序,並且該應用程序的佈局功能背後的前提與我希望實現的類似。Sencha Touch:列表ItemTap事件觸發
雖然我有一個問題讓List對象迴應itemtap
事件。我的意圖是在SetsScreen
級別捕獲itemtap
事件,激發我自己的自定義事件,我的App
對象將偵聽,然後App
可以處理顯示新卡的過程(基於點擊的項目)。
首先,SetsScreen
對象(至少它的相關部分):
DataSets.views.SetsScreen = Ext.extend(Ext.Panel, {
cls: 'sets-screen',
layout: 'card',
initComponent: function() {
// Build the main content list and add it to the main scren
this.setsList = new DataSets.views.SetsList({
scroll: false
});
this.setsList.on('itemtap', this.onListItemTap, this);
this.main = new Ext.Container({
scroll: true,
items: [this.setsList]
});
this.items = [this.main];
DataSets.views.SetsScreen.superclass.initComponent.call(this);
},
onListItemTap: function(dv, index, item, e) {
alert('Test');
}
});
這裏是我的SetsList
對象(沒有什麼了不起這裏):
DataSets.views.SetsList = Ext.extend(Ext.List, {
itemSelector: '.sets-list-item',
singleSelect: true,
initComponent: function() {
this.store = DataSets.stores.Sets;
this.itemTpl = Ext.XTemplate.from('sets-list');
DataSets.views.SetsList.superclass.initComponent.call(this);
}
});
而且Sets
對象是什麼不僅僅是一個快速數據模型和Ext.data.Store:
Ext.regModel('Sets', {
idProperty: 'id',
fields: [
'title',
'last_updated',
'current_value'
]
});
DataSets.stores.Sets = new Ext.data.Store({
model: 'Sets',
data: [
{id: 0, title: 'Weight', last_updated: new Date('11/28/2010 00:00:00 AM GMT-0600'), current_value: 145},
{id: 1, title: 'Cups of Coffee', last_updated: new Date('11/28/2010 07:00:00 AM GMT-0600'), current_value: 1}
]
});
從來沒有看過屏幕錄像 - 感謝您的鏈接!這是參考GeoTweets(而不是GeoCongress,我正在使用它來學習),但無論如何我要去看它以尋找線索。儘管如此,我正在引用有效的1.0 API文檔,沒有什麼是突出的。 – 2010-11-30 01:37:24