代码如下。
我要做的就是从我的登录控制器加载登录视图。但是,我发现登录控制器未正确加载。调用launch()和init()都不会。任何人都可以帮助我吗?
提前致谢!!
应用程序/ app.js
Ext.Loader.setConfig({
disableCaching: false,
enabled: true
});
Ext.application({
name: 'KangasK',
models: [],
stores: [],
controllers: [
'Login'
],
views: [
],
launch: function() {
alert('launch app');
}
});
应用程序/控制器/ Login.js
Ext.define('KangasK.controller.Login', {
extend: 'Ext.app.Controller',
views: ['Login'],
stores: [],
config: {
refs: {
loginBtn: '#loginBtn'
},
control: {
loginBtn: {
tab: 'login'
}
},
init: function() {
alert('init')
},
launch: function() {
alert('launch login');
}
}
});
应用程序/视图/ Login.js
Ext.define('KangasK.view.Login', {
extend: 'Ext.form.Panel',
alias: 'widget.loginview',
config: {
items: [
{
xtype: 'fieldset',
title: 'Login',
items: [
{
xtype: 'textfield',
placeHolder: 'Username',
itemId: 'username',
name: 'username',
required: true
},
{
xtype: 'passwordfield',
placeHolder: 'Password',
itemId: 'password',
name: 'password',
required: true
}
]
},
{
xtype: 'button',
itemId: 'logInButton',
ui: 'action',
padding: '10px',
text: 'Login'
}
]
}
});
PS:在浏览器中显示app / controller / Login.js已加载,但app / view / Login.js未加载。
答案 0 :(得分:1)
我自己想出来了......
init和launch不应该在config:{}
中这有效:
Ext.define('KangasK.controller.Login', {
extend: 'Ext.app.Controller',
config: {
views: ['Login'],
stores: [],
refs: {
loginBtn: '#loginBtn'
},
control: {
loginBtn: {
tab: 'login'
}
}
},
init: function() {
console.log('init')
},
launch: function() {
console.log('launch login');
}
});