我的英语很糟糕,为什么我写简短直接:o)
我的观点:
Ext.define('Anteile.view.Main', {
extend : 'Ext.Container',
xtype : 'xmain',
maxWidth :800,
maxHeight :400,
config : {
layout : 'fit',
id :'Main',
fullscreen : true,
items : [
{ xtype : 'xNavigationBar' },
{ xtype : 'xSidebar' },
{ xtype : 'xMainContainerView', flex : 1 }
]
}
} );
我的控制器:
Ext.define('Anteile.controller.SlideNavigation', {
extend : 'Ext.app.Controller',
config : {
refs:
{
// xMain
xMainContainer :'xmain',
idMainContainer :'xmain[id=Main]',
},
},
init: function() {
this.callParent();
this.initContainer();
},
initContainer: function() {
this.fConsole('this.x: '+this.getXMainContainer().getWidth());
this.fConsole('this.id: '+this.getIdMainContainer().getWidth());
}
... ...
来自initContainer的concole输出:
this.x:null
this.id:null
为什么 x和id 为NULL而不是800
问候 沃尔克
答案 0 :(得分:0)
我认为你是Sencha的新人。好maxWidth
和maxHeight
是container
的配置属性,因此您需要将它们包含在配置中,如下所示: -
Ext.define('Anteile.view.Main', {
extend : 'Ext.Container',
xtype : 'xmain',
config : {
maxWidth :800,
maxHeight :400,
layout : 'fit',
fullscreen : true,
items : [
{ xtype : 'xNavigationBar' },
{ xtype : 'xSidebar' },
{ xtype : 'xMainContainerView', flex : 1 }
]
}
} );
同样在控制器中,如果您想获得视图的引用,则需要name
属性而不是id
。像这样: -
View:-
items: [{
name: 'test',
html: 'Test container'
}]
Controller:-
refs:
{
xmain: "xmain",
testContainer: 'container[name="test"]'
}
修改强>
获取最大宽度:
this.getXMain().getMaxWidth();
答案 1 :(得分:0)
是的,我是新的。
现在改变它仍然是NULL
查看强>
Ext.define('Anteile.view.Main', {
extend : 'Ext.Container',
xtype : 'xmain',
config : {
maxWidth :800,
maxHeight :400,
name :'Main',
layout : 'fit',
fullscreen : true,
items : [
{ xtype : 'xNavigationBar' },
{ xtype : 'xSidebar' },
{ xtype : 'xMainContainerView', flex : 1 }
]
}
} );
<强>位指示强>
Ext.define('Anteile.controller.SlideNavigation', {
extend : 'Ext.app.Controller',
config : {
refs:
{
// xMain
xMainContainer :'xmain',
idMainContainer :'xmain[name=Main]', // > idMainContainer :'xmain[name="Main"]' <neither
},
},
init: function() {
this.callParent();
this.initContainer();
},
initContainer: function() {
this.fConsole('this.x: '+this.getXMainContainer().getWidth());
this.fConsole('this.id: '+this.getIdMainContainer().getWidth());
}