Sencha Touch 2 - 主要宽度?

时间:2014-03-24 23:04:55

标签: sencha-touch-2

我的英语很糟糕,为什么我写简短直接: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

问候 沃尔克

2 个答案:

答案 0 :(得分:0)

我认为你是Sencha的新人。好maxWidthmaxHeightcontainer的配置属性,因此您需要将它们包含在配置中,如下所示: -

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());
}