以下问题: 我得到了viewClass“connectWin”和controllerClass“connectWinController”。 整个程序以视图“connectWin”开头,因此如果点击“开始”按钮, connectWinController应该隐藏“connectWin”,做一些事情并打开另一个视图 “订单查看”。但是如果我点击“开始”按钮,我的控制台就会出现错误。
继承守则:
app.js:
Ext.Loader.setConfig({
});
Ext.application({
name: 'SenchaDiagApp',
requires: [
'Ext.MessageBox',
'Ext.field.Select',
'Ext.form.FieldSet',
'Ext.form.Panel',
'Ext.Img'
],
refs: {
connectWin: 'connectWin'
},
launch: function() {
console.log("App launch!!");
connectWin= {
layout: 'fit',
items: [{
xtype : 'connectWin'
}],
};
Ext.Viewport.add(connectWin);
}
});
connectWin :
Ext.define('AM.view.connectWin' , {
extend: 'Ext.Panel',
alias : 'widget.connectWin',
config:{
ui : 'light',
items: [
{
xtype: 'panel',
scrollable: false,
centered: true,
modal: true,
width: '100%',
height: '50%',
items: [
{
xtype: 'titlebar',
docked: 'top',
height: '110px',
id: 'connectTitleID',
title: 'Login'
},
{
xtype: 'spacer'
},
{
xtype: 'titlebar', // 2 Titlebar unten
docked: 'bottom',
height: '110px',
items:[
{
xtype: 'button',
align: 'left',
height: '100px',
width: '200px',
action: 'bestellen',
text: 'Start',
}],
}],
},
});
connectWinController:
Ext.define('AM.controller.connectWinController', {
extend: 'Ext.app.Controller',
config:{
refs: {
connectWin: 'connectWin'
}
},
init: function() {
this.control(
'connectWin button[action=bestellen]':{
tap: this.verbindungBestellung
},
},
verbindungBestellung : function(){
console.log("Start");
connectWin.hide() **//Now it says: connectWin is not defined?**
var orderView = Ext.create('AM.view.orderView');
Ext.Viewport.add(orderView);
}
});
'
答案 0 :(得分:0)
在app.js
中声明每个视图,控制器,模型,存储您在应用程序中使用的任何内容:
Ext.application({
name: 'AppName',
requires: [],
models:['Model-1','Model-2'],
controllers : ['Main'],
views : ['View-1','View-2'],
stores : [ 'Store-1' , 'Store-2'],
launch : function() {
Ext.fly('appLoadingIndicator').destroy();
Ext.Viewport.add({
xclass: 'AppName.view.View-1',
autoDestroy: false,
showAnimation:false
});
}
});
答案 1 :(得分:0)
在控制器中,要获得视图的参考,
REF:{
connectWin:{autoCreate:true,selector:'#connectWin',xtype:'connectWin'},
}
使用xtype:'connectWin'而不是alias ...