2013-03-21 48 views
1

我已經按照Sencha提供的文檔製作了一個項目列表,並將其轉換爲導航視圖和以下詳細信息頁面。這是一個多對1的解決方案,並與下面的圖片描述:Sencha Touch 2 - 使用靜態視圖創建列表

many-to-1 solution

有了這個解決方案,我可以給該項目的標題列表到DetailsView和類型是這樣的: [代碼]` Ext.define( 'navigation.view.PresidentDetails',{ 延伸: 'Ext.Panel', 的xtype: 'presidentdetail',

config: { 
    styleHtmlContent: true, 
    scrollabe: 'vertical', 
    title: 'Details', 
    tpl: 'Hello {firstName}!' 
} 

}); `[/ code]

看來我不能在此代碼中使用語句,所以我可以指定我想要的內容,具體取決於我點擊的項目。那麼我的問題是 - 我如何創建一個更靜態的視角呢?我可以創建一對一的關係嗎? (見下圖)

1-to-1 solution

任何人知道如何實現這一目標?我目前使用MVC,這是「我」(讀:Senchas)目前的狀態控制器只是爲了得到它的竅門:

Ext.define('navigation.controller.Main', { 
extend: 'Ext.app.Controller', 

config: { 
    refs: { 
     main: 'mainpanel' 
    }, 
    control: { 
     'presidentlist': { 
      disclose: 'showDetails' 
     } 
    } 
}, 

showDetails: function(list, record) { 
    this.getMain().push({ 
     xtype: 'presidentdetail', 
     data: record.data 
    }); 
} 

});

回答

0

現在這個問題已經解決了,它比我想象的要容易得多。我在文檔中查找了itemTap事件,並使用該項目的索引作爲ID並編寫了這個小片段。

showDetailsonItemTap: function(list, index, target, record) { 
    var page; 
    switch(index) { 
     case 0: 
      page = 'presidentdetail'; 
      break; 
     case 1: 
      page = 'presidentdetail2'; 
      break; 
    } 
    this.getMain().push({ 
       xtype: page, 
       data: record.data 
     }); 
    console.log(index); 
} 

之後,它只是手動創建視圖,並在switchstatement中擊中它們的xtype。