Extjs 5 - 静态函数从同一个 class 调用其他静态函数

Extjs 5 - static function call other static function from same class

我有这样的代码:

Ext.define( 'someClass', {

   statics : {

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

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

我在访问静态 methodA 时遇到问题。 有人可以帮我做这件事的正确方法是什么吗?

您应该使用完全限定的 className.methodName() 语法调用静态。 'this' 里面的 static 不会是你想的那样。例如,如果从事件处理程序调用它可能是 'window' 对象,它肯定没有 methodA() 方法。在其他情况下 'this' 可能是原型。在那种情况下,您可能会避开这种语法,但它具有误导性并且可能会导致未来的错误。