只需在每次单击按钮时计数 - Ext JS

时间:2013-08-01 13:45:31

标签: button extjs if-statement count

所以我在我的主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文档。然而,我正在使用控制器来处理事件。

1 个答案:

答案 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');
        }

    }
});