Почему мои xtypes не работают в финальной версии Sencha touch 2.0? - PullRequest
0 голосов
/ 08 марта 2012

эй, я долго размышлял о следующей проблеме: в моем предыдущем приложении я указывал xtype для своих классов следующим образом:

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

, затем в своем окне просмотра я добавил в элементы тип x'homepanel' и, конечно, это работало нормально, и homepanel и другие были отображены на мой взгляд.Но после обновления до версии 2.0 я больше не могу это делать?Нет, я должен использовать это, чтобы включить мою домашнюю панель в представление:

xclass: 'Sencha.view.Home'

Было ли это изменением в версии?Должен ли я теперь всегда вызывать xclass или я делаю что-то не так с моим xtype?Спасибо за помощь!

Ответы [ 5 ]

1 голос
/ 09 марта 2012

В 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

0 голосов
/ 27 апреля 2012

просто измените ваш контейнер на список с панели и установите list-config как

 scrollable: false,
 pinHeaders: false,
0 голосов
/ 13 марта 2012
Ext.define('Sencha.view.Home', {
extend: 'Ext.Panel',
alias: 'widget.homepanel'

когда вы хотите использовать виджет-псевдоним 'homepanel', вы просто говорите xtype: 'homepanel везде, где вы хотите его реализовать

0 голосов
/ 12 марта 2012

Итак, я выяснил, что не так с моими xtypes: я объявил, что мои Views в моем контроллере не в моем App.js, так как я поместил их в мой app.js, и все работало нормально для меня! Спасибо за вашу помощь!

0 голосов
/ 09 марта 2012

У меня есть приложение 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' }
        ]
    }
});

Так что, если у вас не работает, я предполагаю, что происходит что-то еще.Но трудно сказать, не видя больше кода.

...