sencha touch界面之间的跳转
下面是跳转的公共类,要调用时记得把var VIEWPATH = ‘rota_persons.view.’;里面的rota_persons改成自己app.js里面name属性的值
// 页面跳转类
var ViewUtil = {
createNew: function() {
var viewutil = {};
var viewArray = [];
var VIEWPATH = 'rota_persons.view.';
/*
* 记录当前页面,并进入下一页面
* viewId: 页面ID
* className: 页面的userClassName
* parm: 传递给下一页面的参数,为任何对象。用法: initialConfig.parm
*/
viewutil.goNext = function(viewId, className, parm) {
// 记录页面路径
var currentView = Ext.Viewport.getActiveItem();
var currentViewId = currentView.getId();
var currentClassName = currentView.$className;
viewArray.push({
viewId: currentViewId,
className: currentClassName
});
// 销毁残留页面(一般情况下不存在残留)
var nextView = Ext.getCmp(viewId);
if(nextView){
nextView.destroy();
}
// 进入下一页面
className = className || VIEWPATH + viewId;
/*if(!className) {
className = VIEWPATH + viewId;
}*/
nextView = Ext.create(className, {parm: parm});
Ext.Viewport.setActiveItem(nextView);
// Ext.Viewport.animateActiveItem(nextView,{ type: 'slide', direction: 'left' });
// Ext.Viewport.animateActiveItem(nextView,{ type: 'fade' });
//console.log(viewArray);
};
/*
* 回到已记录的上一页面
*/
viewutil.goLast = function() {
// 销毁当前页面
Ext.Viewport.getActiveItem().destroy();
// 取出上一页面
var v = viewArray.pop();
var viewId = v.viewId;
var className = v.className;
// 进入上一页面
var lastView = Ext.getCmp(viewId);
if(!lastView){
lastView = Ext.create(className);
}
Ext.Viewport.setActiveItem(lastView);
// Ext.Viewport.animateActiveItem(lastView,{ type: 'slide', direction: 'right' });
//console.log(viewArray);
};
/*
* 销毁已记录的路径,并直接打开指定页面
* 参数同goNext
*/
viewutil.go = function(viewId, className, parm) {
var lastView;
// 销毁当前页面
lastView = Ext.Viewport.getActiveItem();
if(lastView) {
lastView.destroy();
}
// 销毁已保存的页面
for(var i=0; i<viewArray.length; i++) {
lastView = Ext.getCmp(viewArray[i].viewId);
if(lastView){
lastView.destroy();
}
}
viewArray = [];
// 进入指定页面
className = className || VIEWPATH + viewId;
/*if(!className) {
className = VIEWPATH + viewId;
}*/
var nextView = Ext.getCmp(viewId);
if(!nextView) {
nextView = Ext.create(className);
}
Ext.Viewport.setActiveItem(nextView);
//console.log(viewArray);
};
return viewutil;
}
};
var viewUtil = ViewUtil.createNew();
返回时是viewUtil.goLast();
跳转是viewUtil.goNext(‘att_information_view’,‘Security_task.view.att_information_view’);
att_information_view要和Security_task.view.att_information_view里面的相同,代表要跳转的页面。