Sencha touch 2 导航视图中的多点击问题

Sencha touch 2 导航视图中的多点击问题,sencha-touch-2,Sencha Touch 2,我正在使用导航视图。最初,它有一个包含按钮的项目(视图)。点击此按钮后,第二个视图将进入导航视图。如果用户有意或无意地双击该按钮,则会按两次“第二视图”。我怎样才能解决这个问题 我已经尝试了这个链接中指定的缓冲区配置,但这个解决方案的问题是,它在缓冲区时间之后甚至在第一次点击时调用侦听器 下面是示例代码来演示这个问题 导航视图 Ext.define('Many.view.Main', { extend: 'Ext.navigation.View', xtype: 'main',

我正在使用导航视图。最初,它有一个包含按钮的项目(视图)。点击此按钮后,第二个视图将进入导航视图。如果用户有意或无意地双击该按钮,则会按两次“第二视图”。我怎样才能解决这个问题

我已经尝试了这个链接中指定的缓冲区配置,但这个解决方案的问题是,它在缓冲区时间之后甚至在第一次点击时调用侦听器

下面是示例代码来演示这个问题

导航视图

Ext.define('Many.view.Main', {
    extend: 'Ext.navigation.View',
    xtype: 'main',
    config: {
        items: [
            {
                xtype:'firstView'
            }           
        ]
    }
});
第一视图

Ext.define('Many.view.FirstView', {
    extend: 'Ext.Panel',
    xtype: 'firstView',
    config: {
        title: 'First View',
        items: [
            {
                xtype: 'button',
                id:'myButton',
                text: 'Push Second View'
            }
        ]
    }
});
第二视图

Ext.define('Many.view.SecondView', {
    extend: 'Ext.Panel',
    xtype: 'secondView',
    config: {
        items: [
            {
                docked: 'top',
                xtype: 'titlebar',
                title: 'Second View'
            }
        ]
    }
});
控制器

Ext.define('Many.controller.Main', {
    extend : 'Ext.app.Controller',
    config : {
        refs : {
            myNavigationView : 'main',
            myButton :'main #myButton'
        },
        control : {
            myButton : {
                tap : 'pushSecondView'
            }
        }
    },
    pushSecondView: function () {
        var secondView = Ext.create('Many.view.SecondView');
        this.getMyNavigationView().push(secondView);
    }
});

只要添加一个条件,不管该视图是否存在于视口中

控制器中添加如下引用:-

refs : {
            myNavigationView : 'main',
            myButton :'main #myButton',
            secondView : 'secondView'
        }
并添加以下条件:-

pushSecondView: function () {
     if(!this.getSecondView()){
        var secondView = Ext.create('Many.view.SecondView');
        this.getMyNavigationView().push(secondView);
      }
    }
我是这样做的:

/**
*此方法将从应用程序中的每个项目调用,这些项目可以双击以推送多个项目。
* 
*@returns{Boolean}
*/
确保无双点击:功能(classNameToPush){
if(Ext.getClassName(Ext.getCmp('navigationview').getActiveItem())==classNameToPush){
log(“阻止双击”);
返回false;
}
返回true;

}
好的,谢谢,但是其他操作呢?例如,如果我在点击按钮时执行服务器调用或验证,我应该检查其他条件还是有其他解决方案?这取决于场景。但我认为森查本身没有任何具体的解决办法。