所以我在我的主app.js中有#add_button:
{ xtype: 'button', text: 'Add', itemId: 'add_criteria' }
我这里的控制器会监听每次点击,并且每次点击#add_button时都会尝试添加1:
Ext.define('AM.controller.Add', {
extend: 'Ext.app.Controller',
init: function() {
this.control({
'#add_button': {
click: this.add
}
});
},
add: function(btn) {
var count = 0;
if (count <= 3)
{
count++;
console.log('Count is now ' + count;
}
else {
console.log('wut');
}
}
});
控制器设置正确,但我似乎无法统计点击的次数。它告诉我它'未定义'。有什么想法吗?
是的,我在“按钮”组件上看过Sencha文档。然而,我正在使用控制器来处理事件。
答案 0 :(得分:1)
您正在使用count
作为本地变量,并在每次单击按钮时将其初始化为0。您需要使count
成为控制器的成员变量。
Ext.define('AM.controller.Add', {
extend: 'Ext.app.Controller',
init: function() {
this.count = 0;
this.control({
'#add_button': {
click: this.add
}
});
},
add: function(btn) {
if (this.count <= 3)
{
this.count++;
console.log('Count is now ' + this.count);
}
else {
console.log('wut');
}
}
});