Events 如何使用Sencha Touch 2.2在控制器内的图像中添加滑动侦听器?

Events 如何使用Sencha Touch 2.2在控制器内的图像中添加滑动侦听器?,events,model-view-controller,sencha-touch-2,swipe,listeners,Events,Model View Controller,Sencha Touch 2,Swipe,Listeners,如何使用MVC架构模式在控制器内的图像中添加滑动侦听器?现在我通过在我的视图中添加一个监听器来实现这一点,如下所示 MyView.js 现在我想利用MVC模式将侦听器放在控制器上。问题是xtype:“image”上没有事件“swipe”,所以我不知道该调用哪个从swipe继承的事件。我想像这样的东西可能有用 MyController.js 谢谢,您需要执行现在正在执行的操作,但只需将初始化侦听器移动到控制器: Ext.define('StromRechner.controller.Setting

如何使用MVC架构模式在控制器内的图像中添加滑动侦听器?现在我通过在我的视图中添加一个监听器来实现这一点,如下所示

MyView.js 现在我想利用MVC模式将侦听器放在控制器上。问题是xtype:“image”上没有事件“swipe”,所以我不知道该调用哪个从swipe继承的事件。我想像这样的东西可能有用

MyController.js
谢谢,

您需要执行现在正在执行的操作,但只需将
初始化
侦听器移动到控制器:

Ext.define('StromRechner.controller.Settings', {
    extend: 'Ext.app.Controller',

    config: {
        refs: {
            houseImage: 'image'  //edited - '#houseImage' was not working
        },
        control: {
            'houseImage':{
                initialize: 'initImage'
            }
        }
    },
    initImage: function(img){
        img.element.on({
            swipe: function(e, node, options){
                if(e.direction == "left") {
                    alert("Hey! I swipe left");
                } else if(e.direction == "right"){
                    alert("Hey! I swipe right");
                }
            }
        });
    }
});

您需要执行您现在正在执行的操作,但只需将
初始化
侦听器移动到控制器:

Ext.define('StromRechner.controller.Settings', {
    extend: 'Ext.app.Controller',

    config: {
        refs: {
            houseImage: 'image'  //edited - '#houseImage' was not working
        },
        control: {
            'houseImage':{
                initialize: 'initImage'
            }
        }
    },
    initImage: function(img){
        img.element.on({
            swipe: function(e, node, options){
                if(e.direction == "left") {
                    alert("Hey! I swipe left");
                } else if(e.direction == "right"){
                    alert("Hey! I swipe right");
                }
            }
        });
    }
});

谢谢你@kevhender!但仍然不起作用。由于某些原因,
initialize:'initImage'
方法未被调用;另一方面,方法
tap:'initImage'
会被调用。嗯,如果您键入的都是正确的,不确定这有什么意义。尝试将您的ref更改为houseImage:“image”.Ya!这很奇怪,将ref改为
houseImage:“image”
效果很好。谢谢@kevhender!但仍然不起作用。由于某些原因,
initialize:'initImage'
方法未被调用;另一方面,方法
tap:'initImage'
会被调用。嗯,如果您键入的都是正确的,不确定这有什么意义。尝试将您的ref更改为houseImage:“image”.Ya!这很奇怪,将ref改为
houseImage:“image”
效果很好。
Ext.define('StromRechner.controller.Settings', {
    extend: 'Ext.app.Controller',

    config: {
        refs: {
            houseImage: 'image'  //edited - '#houseImage' was not working
        },
        control: {
            'houseImage':{
                initialize: 'initImage'
            }
        }
    },
    initImage: function(img){
        img.element.on({
            swipe: function(e, node, options){
                if(e.direction == "left") {
                    alert("Hey! I swipe left");
                } else if(e.direction == "right"){
                    alert("Hey! I swipe right");
                }
            }
        });
    }
});