Javascript 在ExtJS中的被调用类中引用调用方类

Javascript 在ExtJS中的被调用类中引用调用方类,javascript,extjs,Javascript,Extjs,我是ExtJS新手,有以下问题:我有一个类LoginWindow,它实现了一个FormPanel: Ext.define('WebDesktop.LoginWindow', { extend: 'Ext.window.Window', title: Translator.get("login_window:Anmeldung"), layout: 'fit', closable: false, resizable: false, constructor: functi

我是ExtJS新手,有以下问题:我有一个类LoginWindow,它实现了一个FormPanel:

Ext.define('WebDesktop.LoginWindow', {
  extend: 'Ext.window.Window',

  title: Translator.get("login_window:Anmeldung"),
  layout: 'fit',
  closable: false,
  resizable: false,

  constructor: function() {
    this.callParent();
  },

  initComponent: function () {
    var me = this;

    me.loginPanel = new WebDesktop.LoginPanel(me);

    me.items = [
        me.loginPanel
    ],

    me.callParent();
  },
});

Ext.define('WebDesktop.LoginPanel', {
  extend: 'Ext.form.Panel',

  header: false,
  bodyPadding: 5,
  reset: true,

  waitMsgTarget: true,
  url: Routing.generate('_route_core_login'),

  items: [{
    xtype: 'textfield',
    fieldLabel: Translator.get("login_window:Benutzername"),
    name: '_username',
    width: 300,
  },
  {
    xtype: 'textfield',
    fieldLabel: Translator.get("login_window:Passwort"),
    name: '_password',
    inputType: 'password',
    width: 300,
  }],

  buttons: [{
    text: Translator.get("login_window:Anmelden"),
    handler:  function() {

        var form = this.up('form').getForm();

        if (form.isValid()) {
            // Submit the Ajax request and handle the response
            form.submit({
                success: /* Call a function that is defined in main application class */,
                failure: function(form, action) {

                    Ext.Msg.show({
                        title: Translator.get("login_window:Benutzeranmeldung"), 
                        msg: action.result ? action.result.message : 'No response',
                        buttons: Ext.Msg.OK,
                        icon: Ext.Msg.ERROR
                    });

                    form.reset();
                }
            });
        }
    }
  }],
});
现在,在我的主应用程序类中,我创建了LoginWindow的一个实例,并将其显示给用户。在这个主类中还定义了一个函数,当登录窗口的表单成功提交时应该调用该函数。但我不知道如何引用这个函数。我试图将调用方类的引用传递给被调用的类并将其保存在那里,但没有成功。正如您所看到的,我没有使用MVC架构,我知道这不是最佳实践

me.loginPanel = new WebDesktop.LoginPanel();
me.loginPanel.referenceToParentWindow = me;

这就是你要找的吗?我很困惑。

你为什么不使用最佳实践?我还没有找到一个例子来解释如何以令人满意的方式使用控制器。这是怎么回事?我尝试过这个,但是如果我尝试在LoginPanel类中访问这个引用,它是未定义的,我玩了一点,现在似乎可以工作了,所以谢谢