控制器在Sencha-touch中失去对按钮的引用

时间:2012-12-18 15:21:28

标签: sencha-touch sencha-touch-2

我在控制器中遇到一些代码问题。当我单击“后退”按钮时,它会切换到另一个视图,但是当我返回到视图时,单击处理程序将不再起作用。

见下面的代码......

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', {});
    }

});

app类代码:

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' })

0 个答案:

没有答案