Sencha失去了背景

时间:2016-06-09 17:23:21

标签: extjs scope bind

我正在尝试调用泛型函数,但是当执行该函数时,我处于不同的范围(窗口)。此代码将描述案例:

Ext.application({
    name : 'Fiddle',
    context: null,

    function1 : function(){
        this.function2(this.function3);
    },

    function2 : function(func){
        func();
    },

    function3 : function(){
        if(context == this){
            Ext.Msg.alert('Fiddle', 'Same context!');
        }
        else {
            Ext.Msg.alert('Fiddle', 'Different context!');
        }
    },

    launch : function() {
        context = this;
        this.function1();
    }
});

我正在尝试使用bind,但它无法正常工作。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用bind,尝试更改function1,例如:

function1: function(){
    this.function2(this.function3.bind(this));
}

(这种func function2 this是一个与预期$('div[contenteditable=true]').wrapInner('<p></p>'); 合作的新功能。)