2015-05-03 88 views
1

我有這樣的代碼:ExtJS的5 - 靜態函數調用其他靜態函數從同一類

Ext.define('someClass', { 

    statics : { 

     methodA : function() { return 'A'; }, 
     methodAB : function() { 

     var A = this.methodA(); 
     return A + 'B'; 
     } 
    } 
}); 

我有問題,訪問靜態methodA。 有人可以幫我什麼是一個正確的方法來做到這一點?

+2

你有一個錯字:它應該是'function'而不是'funcyion'。 –

+0

你是什麼意思你有問題? https://fiddle.sencha.com/#fiddle/m7p –

回答

0

您應該使用完全限定的className.methodName()語法來調用靜態。靜態內的'this'不會是你想象的那樣。例如,如果從一個事件處理函數中調用,它可能是'window'對象,它肯定沒有methodA()方法。在其他情況下,這可能是原型。在這種情況下,您可能會擺脫這種語法,但這會造成誤導,並可能導致未來的錯誤。