我有一个数据视图,我想检测一下。如果我能在控制器中听到它,那就太好了,但据我所知,我不能那样做。我的测试证实了这一点。所以我需要在视图中听取事件。目前我正在我的数据视图的initialize方法中这样做:
initialize: function() {
var el = Ext.get("list");
el.on('swipe', function(event) {
alert(event.direction);
});
}
所以有几件事:
提前致谢。
答案 0 :(得分:2)
我认为这就是你所追求的,同样的想法只是将范围改为控制器:
Ext.define('app.controller.myListControler', {
extend: 'Ext.app.Controller',
config: {
refs: {
list: { selector: 'myList', autoCreate: true, xtype: 'myList' }
}
},
init: function () {
},
launch: function () {
this.getList().on('swipe', this.onSwipe);
},
onSwipe: function (event) {
console.log(event.direction);
}
}
答案 1 :(得分:2)
将组件的事件放在控制器中总是更好。因此,首先在控制器中为该数据视图创建 ref 。
refs : {
listView : 'list' //Or a selector to get the reference
},
control : {
listView : {
// Dataview has an "itemswipe" event - not "swipe" event
itemswipe : function(dataview, index, target, record){
//Do here what you want
}
}
}
这应该有效(未经测试)。