我在控制器中的某些代码有问题。当我单击“后退”按钮时,它会切换到不同的视图,但是当我返回该视图时,单击处理程序不再起作用。
见下面的代码......
Ext.define('MyApp.controller.MyDetails', {
extend: 'Ext.app.Controller',
requires: [
'TolMobile.view.MyDetails',
'Ext.field.Select',
'Ext.field.DatePicker'
],
config: {
refs: {
},
control: {
"#btnMyDetailsBack": {
tap: 'onBackButton'
}
}
},
onBackButton: function () {
MyApp.app.switchMainView('MyApp.view.Home', {});
}
});
应用类代码:
switchMainView: function (newView, config) {
if (this.currentView != false) {
Ext.Viewport.remove(this.currentView);
}
this.currentView = Ext.create(newView, config);
// animateActiveItem - TODO animation not working (but shows ok)
Ext.Viewport.animateActiveItem(this.currentView, { type: 'slide', direction: 'right' })
}
似乎现在可以使用以下而不是 switchMainView() 调用。此代码在主视图控制器中的按钮单击上调用,现在动画工作和前进/后退。我真的很想知道为什么...
var detailsView = Ext.create('MyApp.view.MyDetails');
detailsView.setRecord(userRecord);
Ext.Viewport.animateActiveItem(detailsView, { type: 'slide', direction: 'left' })