Javascript ExtJS:为什么我的视图在使用xtype时不显示?
我在使用ExtJS 6.2.0制作的简单应用程序时遇到了问题,但没有使用sencha cmd。问题是,我无法在模拟登录后显示一个简单的窗口 我的app.js: 登录视图-login.js 控制器-LoginController.jsJavascript 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
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();