开源进销存PSI - ExtJS知识点(4)

ExtJS中函数调用的scope

先看一段代码

initComponent : function() {
    var me = this;

    // .......

    {
	    id : "editLoginName",
	    width : 370,
	    fieldLabel : "登录名",
	    allowBlank : false,
	    blankText : "没有输入登录名",
	    beforeLabelTextTpl : PSI.Const.REQUIRED,
	    name : "loginName",
	    value : me.getLoginNameFromCookie(),
	    listeners : {
		    specialkey : me.onEditLoginNameSpecialKey,
		    scope : me
	    }
    }
    
    // .......

在给组件绑定事件函数的时候,指定了scope .

这是因为:JavaScript中,this所指的对象是上下文相关的。通过指定scope,从而能指定对应函数中this所指的对象。

在上面的代码中,就保证了在  onEditLoginNameSpecialKey 中的this是指向 me 这个变量。

忘了写scope,在初学ExtJS的时候,很容易犯这个错。

你可能感兴趣的:(开源进销存PSI - ExtJS知识点(4))