这两天应为一个页面跳转把我整的死去活来啊!官网的API不给力啊!资料太少了,害的我浪费了好长时间,最终还是弄好了,发现了一个关键问题所在:如果要使用Ext.getCmp()来得到视图或者页面组建就得在引用的页面中添加id属性,因为Ext.getCmp()是通过id来取东西的。明白这点后下面的事就好办多了。
首先在控制层里面定义按钮的事件,并映射组建。
config:{
refs:{
camera:'#cameraview',//拍照页面
description:'#descriptionview',//问题描述页面
corrective:'#correctiveview',//整改要求页面
captureButton:'button[action=captureButton]',//#拍照#拍照按钮
selectButton:'button[action=selectButton]',//#拍照#选择照片按钮
btnCameraNext:'button[action=btnCameraNext]',//#拍照#下一页按钮
btnCameraSave:'button[action=btnCameraSave]',//#拍照#保存按钮
selectTemplate:'button[action=selectTemplate]',//#问题描述#选择模板按钮
btnDescriptionBack:'button[action=btnDescriptionBack]',//#问题描述#上一步按钮
btnDescriptionSave:'button[action=btnDescriptionSave]',//#问题描述#保存按钮
btnDescriptionNext:'button[action=btnDescriptionNext]',//#问题描述#下一页按钮
btnCorrectiveBack:'button[action=btnCorrectiveBack]',//#整改要求#上一步按钮
btnCorrectiveSave:'button[acyion=btnCorrectiveSave]',//#整改要求#保存按钮
btnCorrectiveSubmit:'button[action=btnCorrectiveSubmit]'//#整改要求#提交按钮
},
control:{
//按钮事件
captureButton:{
tap:'onCaptureButton'
},
selectButton:{
tap:'onSelectButton'
},
btnCameraNext:{
tap:'onCameraNext'
},
btnDescriptionBack:{
tap:'onDescriptionBack'
},
btnDescriptionNext:{
tap:'onDescriptionNext'
},
btnCorrectiveBack:{
tap:'onCorrectiveBack'
},
}
}
下面是具体的上一页、下一页的翻页事件。虽说有点繁琐,但功能算是实现了。
//向左翻页
slideLeftTransition:{
type: 'slide',
direction: 'left'
},
//向右翻页
slideRightTransition: {
type: 'slide',
direction: 'right'
},
onCameraNext:function(){
Ext.Viewport.animateActiveItem(
Ext.getCmp('descriptionview'),
this.slideLeftTransition
);
},
onDescriptionBack:function(){
Ext.Viewport.animateActiveItem(
Ext.getCmp('cameraview'),
this.slideRightTransition
);
},
onDescriptionNext:function(){
Ext.Viewport.animateActiveItem(
Ext.getCmp('correctiveview'),
this.slideLeftTransition
);
},
onCorrectiveBack:function(){
Ext.Viewport.animateActiveItem(
Ext.getCmp('descriptionview'),
this.slideRightTransition
);
}