感謝您的答覆,看起來像我們可能會得到的地方。我創建了一個簡單而且簡單的新視圖。請看下圖: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調用,然後兩個命中註冊肖像調用。
所有這一切只有一個動作,所以這是不知何故導致刪除和添加代碼不能像預測的那樣工作,以及如何防止在旋轉時被調用四次方向?
如果任何人有隨時加入。
感謝您的幫助迄今 硅
不幸的是我已經給了煎茶鬼,但感謝你的反饋 –
我已經做了足夠的工作的ExtJS瞭解其中一些你的挫折可能會從何而來。這絕對是一個不同的野獸,然後jQuery或任何其他類似的庫。 – AnthonyVO
是啊!我已經轉向像Emberjs和Angularjs這樣的人:-) –