以下に示すように、これらの4つのビューを単一のタブビューに追加して、4つの個別のビューを持っています。
タブ ビュー コード:
Ext.define("SLS.BRND.WEB.view.MainTabbarView", {
extend: 'Ext.tab.Panel',
xtype: 'MainTabbarView',
requires: ['Ext.data.proxy.JsonP', 'Ext.TitleBar', 'Ext.Video', 'SLS.BRND.WEB.view.GallerysView', 'SLS.BRND.WEB.view.FloorView'],
config: {
tabBarPosition: 'bottom',
items: [
{
xclass: "SLS.BRND.WEB.view.GlobalNavigationView",
docked: "top",
scrollable: false
},
{
xclass: 'SLS.BRND.WEB.view.ApartmentView'
},
{
xclass: 'SLS.BRND.WEB.view.SpecificationView'
},
{
xclass: 'SLS.BRND.WEB.view.FloorView'
},
{
xclass: 'SLS.BRND.WEB.view.GallerysView'
}
]
}
});
コントローラーの onbuttontap 関数では、以下に示すように「MainTabbarView」ページの上で呼び出しています。setActiveItem(0); を設定しました。4 つのタブのうち最初のタブ項目を表示します (xclass: 'SLS.BRND.WEB.view.ApartmentView')。この setActiveItem(0) のように設定すると、最初のビュー ページが表示されますが、データは表示されません (空白の画面)。この setActiveItem(1) のように設定すると、2 番目のビュー ページにデータが表示されます。次に、最初のページに問題があるのではないかと考えたので、「MainTabbarView」でページ ビューの順序を変更しました。もう一度 setActiveItem(0) を設定すると、アクティブなページが表示されますが、データは表示されません。私は setActiveItem(0) を 1,2,3 に変更し続け、正常に動作し、データも表示しています。しかし、setActiveItem(0) のデータは表示されません。私を助けることができます。この問題を解決する方法。ありがとうございました
コントローラーコード:
Ext.define("SLS.BRND.WEB.controller.ApartmentController", {
extend: "Ext.app.Controller",
requires: ['Ext.data.proxy.JsonP'],
config: {
refs: {
projectsPage: "projectspage",
mainTabbarView: "MainTabbarView",
},
control: {
projectsPage: {
BtnApartments: "onAptButtonTap"
}
}
},
onAptButtonTap: function () {
var ApartmentTabbar = this.getMainTabbarView();
ApartmentTabbar.setActiveItem(0);
Ext.Viewport.animateActiveItem(ApartmentTabbar, this.slideLeftTransition);
},
activateNotesList: function () {
Ext.Viewport.animateActiveItem(this.getHomepage(), this.slideRightTransition);
},
slideRightTransition: { type: 'slide', direction: 'right' },
slideDownTransition: { type: 'flip', direction: 'down' },
slideLeftTransition: { type: 'fade', direction: 'left' }
});