我怎样才能从视图子关闭视图父?

how can i close the view parent from view child?

我正在使用 ext framework 6.2.0 中的模板 admin-dashbord。

当我使用它时,在我的 AuthenticationController

this.getView().destroy();

只有子视图登录 close.Not 父视图。

app-main 组件构建在父视图后面。

我不知道如何关闭父视图。

我有以下结构:

LoginWindow.js

Ext.define('Admin.view.authentication.LockingWindow', {
    extend: 'Ext.window.Window',
    xtype: 'lockingwindow',

    requires: [
       'Admin.view.authentication.AuthenticationController',
       'Ext.layout.container.VBox'
    ],

    cls: 'auth-locked-window',
    closable: false,
    resizable: false,
    autoShow: true,
    titleAlign: 'center',
    maximized: true,
    modal: true,

    ....

});

Login.js

Ext.define('Admin.view.authentication.Login', {
    extend: 'Admin.view.authentication.LockingWindow',
    xtype: 'login',

    requires: [
        'Admin.view.authentication.Dialog',
        'Ext.container.Container',
        'Ext.form.field.Text',
        'Ext.form.field.Checkbox',
        'Ext.button.Button'
    ],

    title: 'Let\'s Log In',
    defaultFocus: 'authdialog', // Focus the Auth Form to force field focus as well
 ....

           {
                xtype: 'button',
                reference: 'loginButton',
                scale: 'large',
                ui: 'soft-green',
                iconAlign: 'right',
                iconCls: 'x-fa fa-angle-right',
                text: 'Login',
                formBind: true,
                listeners: {
                    click: 'onLoginButton'
                }
            },

});

AuthenticationController.js

Ext.define('Admin.view.authentication.AuthenticationController', {
   extend: 'Ext.app.ViewController',
   alias: 'controller.authentication',

   onLoginButton: function() {

       var me = this;

        localStorage.setItem("TutorialLoggedIn", true);

        // Remove Login Window

        this.getView().destroy();

        // Add the main view to the viewport
            var main  = Ext.create({
            xtype: 'app-main'
        });

        me.redirectTo('dashboard', true);
    },

});
  1. 获取视图:登录
  2. 获取父级:LockingWindow
  3. 销毁父级:LockingWindow

这是我添加到 AuthenticationController.js 并在 onLoginButton() 方法中调用的方法。

createInterface : function(){

        var me = this,
            view = me.getView(),
            window = view.up('window');

        Ext.create({
            xtype: 'app-main'
        });
        window.destroy();

        me.redirectTo('dashboard', true);
 }