我正在使用sencha touch 2.3和PhoneGap来创建一个Android应用程序,我对导航视图有问题。
main.js
Ext.define('Myapp.view.Main',{
extend:'Ext.navigation.View',
xtype:'mainvi,
requires:['Myapp.view.RedirectView','Myapp.view.IncomingJobView','Myapp.view.MapView','Myapp.view.DriverLoginFormView','Myapp.view.DashboardView','Myapp.view.AccountView'],
id:'navview',
fullscreen:true,
config:{
items:[{
xtype:'RedirectView',
}],
navigationBar: {
items: [{
xtype: 'button',
id:'logoutButtonId',
hidden:true,
text: 'Logout',
align: 'right',
handler: function(){}
}],
docked: 'top'
}
}
});
在这个项目中,登陆页面是RedirectView,一旦我登录,那么下一页就是MapView 我使用以下代码。
Ext.getCmp('navview').push({
xtype:'MapView'
});
当我点击登出按钮时,页面重定向到“RedirectView”页面 获取RedirectView页面后,我无法访问任何其他页面 进入控制台后出现以下警告 [WARN] [Ext.Component#constructor]注册一个已经使用过的id('driverLoginTextId')组件。请确保现有组件已被销毁('Ext.Component#destroy()'。
以下是我的RedirectView.js文件
Ext.define('Myapp.view.RedirectView', {
extend : 'Ext.form.Panel',
xtype : 'RedirectView',
requires : ['Ext.Label'],
config : {
styleHtmlContent : 'true',
scrollable : 'false',
//cls:'GreenBackgroundImage',
style : {
'background-image' : 'url(resources/images/background.jpg)',
'background-repeat' : 'no-repeat',
'background-size' : '100% 100%'
},
//title: 'Register',
layout : {
type : 'vbox',
align : 'center',
pack : 'center'
},
items : [{
xtype : 'panel',
items : [{
xtype : 'button',
id : 'RedirectAirportBtnId',
text : 'Airport Transfer',
width : '200px',
height : '35px',
style : {
'marginBottom' : '10px'
},
}, {
xtype : 'button',
id : 'RedirectAsDirectedBtnId',
text : 'As Directed',
width : '200px',
height : '35px',
//style:{'marginBottom':'10px'},
}, {
layout : 'hbox',
xtype : 'panel',
flex : 1,
items : [{
xtype : 'panel',
id : 'signinLinkPanelId',
width : '100px',
items : [{
layout : {
type : 'vbox',
align : 'center',
pack : 'center'
},
items : [{
xtype : 'label',
html : '<a href="#" style="font-size:17px;text-decoration:none;color:#2E3604;text-align:center" onclick=createLoginPage("passengerLoginTextId");><center>Sign in</center></a>',
styleHtmlContent : true
}
]
}
]
}, {
xtype : 'panel',
id : 'takeATourLinkPanelId',
flex : 1,
items : [{
layout : {
type : 'vbox',
align : 'center',
pack : 'center'
},
items : [{
xtype : 'label',
html : '<a href="#" style="font-size:17px;text-decoration:none;color:#2E3604">Take a tour</a>',
styleHtmlContent : true
}
]
}
]
}
]
}, {
layout : {
type : 'vbox',
align : 'center',
pack : 'center'
},
items : [{
xtype : 'label',
id : 'signinAsDriverLinkId',
html : '<a href="#" style="font-size:17px;text-decoration:none;color:#2E3604" onclick=createLoginPage("driverLoginTextId");>Login as driver</a>',
styleHtmlContent : true,
style : {
'marginTop' : '-20px'
}
}, {
xtype : 'label',
id : 'registerLinkId',
html : '<a href="#" style="font-size:17px;text-decoration:none;color:#2E3604" onclick=redirectToRegisterPage();>Register</a>',
styleHtmlContent : true,
style : {
'marginTop' : '-20px'
}
}
]
}
]
}
]
}
});
重定向页面有什么错误吗?
如何销毁已在navigationView Array中创建的组件?
答案 0 :(得分:0)
首先尝试获取您想要推送的视图,如果未找到,则创建ID为
的视图var myMapView = Ext.getCmp('myMapView');
if(!myMapView){
myMapView = Ext.create('Myapp.view.MapView', { id: "myMapView" });
}
Ext.getCmp('navview').push(myMapView);