Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ExtJS:为什么我的视图在使用xtype时不显示?_Javascript_Extjs_Extjs6 - Fatal编程技术网

Javascript ExtJS:为什么我的视图在使用xtype时不显示?

Javascript ExtJS:为什么我的视图在使用xtype时不显示?,javascript,extjs,extjs6,Javascript,Extjs,Extjs6,我在使用ExtJS 6.2.0制作的简单应用程序时遇到了问题,但没有使用sencha cmd。问题是,我无法在模拟登录后显示一个简单的窗口 我的app.js: 登录视图-login.js 控制器-LoginController.js Ext.define('AdeaProjects.view.login.LoginController', { extend: 'Ext.app.ViewController', alias: 'controller.login', onLoginCl

我在使用ExtJS 6.2.0制作的简单应用程序时遇到了问题,但没有使用sencha cmd。问题是,我无法在模拟登录后显示一个简单的窗口

我的app.js:

登录视图-login.js

控制器-LoginController.js

Ext.define('AdeaProjects.view.login.LoginController', {
  extend: 'Ext.app.ViewController',
  alias: 'controller.login',

  onLoginClick: function() {
    localStorage.setItem("UserLoggedIn", true);
    this.getView().destroy();

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

});
最后是我想显示的视图-Main.js

我尝试使用alias或xtype,但无法显示窗口。 但是,如果我更改以下内容:

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

它工作得很好,但我需要知道为什么不能对xtype使用延迟加载

你能帮我吗?我做错了什么


非常感谢

Ext.create({xtype:'app main'})只创建窗口,与Ext.create('AdeaProjects.view.main.main')创建窗口的方式相同。无论如何创建,仍然需要在结果窗口上调用show()。或者您可以在app main的配置中指定autoShow:true。正如@zeke上面所说的,您只是用
Ext.create
创建了一个窗口,您仍然需要调用
.show()
方法才能在应用程序中显示该窗口。@zeke谢谢,当我添加autoShow:true时它就起作用了。@qmat是的,我只需要这一行,而不是您!Ext.create({xtype:'app main'})只创建窗口,与Ext.create('AdeaProjects.view.main.main')创建窗口的方式相同。无论如何创建,仍然需要在结果窗口上调用show()。或者您可以在app main的配置中指定autoShow:true。正如@zeke上面所说的,您只是用
Ext.create
创建了一个窗口,您仍然需要调用
.show()
方法才能在应用程序中显示该窗口。@zeke谢谢,当我添加autoShow:true时它就起作用了。@qmat是的,我只需要这一行,而不是您!
Ext.define('AdeaProjects.view.login.LoginController', {
  extend: 'Ext.app.ViewController',
  alias: 'controller.login',

  onLoginClick: function() {
    localStorage.setItem("UserLoggedIn", true);
    this.getView().destroy();

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

});
Ext.define('AdeaProjects.view.main.Main', {
  extend: 'Ext.window.Window',
  alias: 'widget.app-main',

  requires: [
    'AdeaProjects.view.main.MainController',
    'AdeaProjects.view.main.MainModel'
  ],

  controller: 'main',

  viewModel: {
    type: 'main'
  },

  resizable: false,
  layout: {
    type: 'table',
    columns: 4
  },

  initComponent: function() {
    var group = '';
    this.callParent();
  },

  defaultType: 'button',
  defaults: {
    width: 50,
    height: 50,
    cls: 'btn',
    handler: 'onClickNumber'
  },

  header: {
    items: [{
      xtype: 'displayfield',
      colspan: 4,
      width: 200,
      cls: 'display',
      bind: {
        value: '{display}'
      },
      height: 60,
      padding: 0

    }]
  },
  items: [//more stuff]
});
Ext.create({
  xtype: 'app-main'
});
Ext.create('AdeaProjects.view.main.Main').show();