为什么我的xtypes不能在Sencha touch 2.0中工作?

时间:2012-03-08 16:43:36

标签: sencha-touch sencha-touch-2

嘿,我很长一段时间想知道以下问题: 在我以前的应用程序中,我为我的类指定了一个xtype,如下所示:

Ext.define('Sencha.view.Home', {
extend: 'Ext.Panel',
xtype: 'homepanel', 

然后在我的视口中,我在项目中添加了' homepanel'当然这很好用,我的视图中显示了主页和其他内容。但升级到2.0后,我再也不能这样做了?不,我必须像这样使用它来在视图中包含我的主页:

xclass: 'Sencha.view.Home'

这是版本的变化吗?我现在总是必须调用xclass,还是我的xtype做错了?谢谢你的帮助!

5 个答案:

答案 0 :(得分:1)

对于声明,Sencha Framework有一个别名关键字而不是xtype http://docs.sencha.com/touch/2-0/#!/api/Ext.Class-cfg-alias

Ext.define('MyApp.CoolPanel', {
    extend: 'Ext.panel.Panel',
    alias: ['widget.coolpanel'],
    title: 'Yeah!'
});

// Using Ext.create
Ext.widget('widget.coolpanel');
// Using the shorthand for widgets and in xtypes
Ext.widget('panel', {
    items: [
        {xtype: 'coolpanel', html: 'Foo'},
       {xtype: 'coolpanel', html: 'Bar'}
    ]
});

现在EXTJS如何做到这一点: https://stackoverflow.com/a/5608766/330417

答案 1 :(得分:0)

我有一个Sencha Touch 2.0应用程序,我的视口设置如下:

Ext.define('example.view.Viewport', {
    extend: 'Ext.Container',
    config: {
        fullscreen: true,
        id: 'mainContainer',
        layout: {
            type: 'card',
            animation: {}//we manually set this throughout the app
        },
        items: [
            /*
             * This is a list of all of the "cards" in our app that are preloaded
             */
            { xtype: 'dashboardpanel' },
            { xtype: 'customerlist' },
            { xtype: 'loginpanel' }
        ]
    }
});

所以,如果你的工作没有工作,我猜其他事情正在发生。但如果没有看到更多代码,很难分辨。

答案 2 :(得分:0)

所以我弄清楚我的xtypes出了什么问题:我在我的控制器中声明了我的视图而不是我的App.js,因为我已将它们放入我的app.js对我来说一切正常! 谢谢你的帮助!

答案 3 :(得分:0)

Ext.define('Sencha.view.Home', {
extend: 'Ext.Panel',
alias: 'widget.homepanel'

如果你想使用别名小部件'homepanel',你只需要说xtype:'homepanel,无论你想在哪里实现它

答案 4 :(得分:0)

只需将容器更改为面板列表,并将list-config设置为

 scrollable: false,
 pinHeaders: false,