2011-11-29 58 views
0

感謝您的答覆,看起來像我們可能會得到的地方。我創建了一個簡單而且簡單的新視圖。請看下圖:Sencha Touch:刪除一個項目,然後更新方向更改等視圖

var homePanelTop = new Ext.Panel({ id:'topCont', 
     cls:'topCont'  
    }); 
    var homePanelBtm = new Ext.Panel({ 
     id:'btmCont', 
     cls:'btmCont' 
    }); 


    App.views.HomeIndex = Ext.extend(Ext.Panel, { 
      id:'mainlayout', 
      fullscreen : true, 
      layout: { 
         type: 'vbox', 
         align: 'stretch', 
       }, 
       defaults:{flex:1}, 
      items: [homePanelTop, homePanelBtm], 
      suspendLayout: true, 
       monitorOrientation: true, 
       orientationchange: this.onOrientationChange, 
       onOrientationChange: function(orientation, w, h){ 
        this.suspendLayout = false; 
        if(orientation === 'portrait'){ 
          console.log('P: ' + orientation); 
           this.add(homePanelTop, true); 
          } else { 
          console.log('L: ' + orientation); 
           this.remove(homePanelTop, false); 
         } 
         this.doLayout(); 
       } 
    }); 
    Ext.reg('HomeIndex', App.views.HomeIndex); 

我希望看到上述觀點是在第一負載和肖像,會出現兩個面板,頂部面板(黃色)和底部面板(藍色)。當我正常旋轉時,我仍然可以得到相同的效果。

但我後來的是,當我旋轉到風景頂部面板(黃色)被刪除和底部面板(藍色)填補空間的其餘部分。

然後,當我轉回肖像,我得到兩個面板恢復到其設計尺寸(柔性:1)

請告訴我使用以上(在Chrome測試)的代碼發生的是,頂部面板(黃色)保持在頂部,但在高度略小,不會消失像它應該

反正看到我有兩個控制檯trace命令和這些展示在旋轉以下讀數:

第一負載後,我再旋轉到景觀和輸出是:

L:景觀

L:景觀

試圖除去不存在的成分。 Ext.Container:刪除需要刪除組件的參數。 cmp.remove()的用法不正確。

L:風景

試圖移除不存在的組件。 Ext.Container:刪除需要刪除組件的參數。 cmp.remove()的用法不正確。

L:風景

試圖移除不存在的組件。 Ext.Container:刪除需要刪除組件的參數。 cmp.remove()的用法不正確。

的時候我轉回肖像我得到以下輸出:

L:景觀

試圖除去不存在的組件。 Ext.Container:刪除需要刪除組件的參數。 cmp.remove()的用法不正確。

L:風景

試圖移除不存在的組件。 Ext.Container:刪除要刪除的組件的參數 。 cmp.remove()的用法不正確。

,P:肖像

,P:肖像

所以它實際上是一些如何打響onorientationchange功能4倍lanscape旋轉看着這個,第一個是確定其他三個有錯誤因爲第一個已經移除它,所以我相信警告是什麼。

然後與肖像的人,我得到兩個註冊爲lanscape調用,然後兩個命中註冊肖像調用。

所有這一切只有一個動作,所以這是不知何故導致刪除和添加代碼不能像預測的那樣工作,以及如何防止在旋轉時被調用四次方向?

如果任何人有隨時加入。

感謝您的幫助迄今 硅

回答

0

很多年後...更多像我上的這種發展的想法,磕磕絆絆在此尋找幫助。

兩件事。

1)消息「嘗試刪除不存在的組件」僅在ExtJS庫的「開發」版本中找到,我不知道它是問題的可靠指示器。

2)如果你可以升級到ExtJS 4.1x。它會讓你獲得更好的調試工具。我特別想到'Ext JS Page Analyzer'。這將幫助您瞭解佈局引擎正在做什麼以及您希望它正在做什麼。

參見:http://www.sencha.com/blog/optimizing-ext-js-4-1-based-applications

+0

不幸的是我已經給了煎茶鬼,但感謝你的反饋 –

+0

我已經做了足夠的工作的ExtJS瞭解其中一些你的挫折可能會從何而來。這絕對是一個不同的野獸,然後jQuery或任何其他類似的庫。 – AnthonyVO

+0

是啊!我已經轉向像Emberjs和Angularjs這樣的人:-) –

相關問題