Как поставить кнопку в Sencha Touch 2.0 через MVC с помощью представления

Я пробовал простой пример MVC, подобный этому Как правильно активировать представление MVC в Sencha Touch V2 . Это нормально, но, допустим, я хочу добавить кнопку на панель с помощью представления.

Я пытался сделать следующее..

приложение.js:

Ext.Loader.setConfig({enabled: true});
Ext.application({
    name: 'rpc',
    appFolder: 'app',
    controllers: ['Home'],
    launch: function () {

        Ext.create('Ext.tab.Panel',{
            fullscreen: true,     
            tabBarPosition: 'bottom',
            items:[{
                title: 'Home',
                iconCls: 'home',
                html: '<img src="http://staging.sencha.com/img/sencha.png" />'
            },{
                title: 'Compose',
                iconCls: 'compose',
                xtype: 'mybutton'
            }]          
        });     
    }
});

контроль

    Ext.define('rpc.controller.Home', {
    extend: 'Ext.app.Controller',
    views: ['home.Button'],
    init: function() {    

        console.log('Home controller init method...');
    }
});

Посмотреть

    Ext.define('rpc.view.home.Button', {
    extend: 'Ext.Panel',    
    alias: 'widget.mybutton',
    initialize: function() {
        this.items = [
            {
            xtype: 'button',
            cls  : 'demobtn',
            flex : 1
            }]
        ;

        this.callParent();  
    }
});

Результат, который я получаю:

Uncaught TypeError: невозможно прочитать свойство «длина» неопределенного

Где ошибка? Как правильно добавить кнопку, используя представление с MVC в Sencha Touch 2.0?

Спасибо.


person Artemide Innominato    schedule 10.11.2011    source источник


Ответы (1)


Попробуйте изменить способ определения представления rpc.view.home.Button, я не вызываю initialize() в своих представлениях, я просто делаю:

Ext.define('rpc.view.home.Button', {
extend: 'Ext.Panel',
xtype: 'mybutton',
config: {
    items = [
        {
        xtype: 'button',
        cls  : 'demobtn',
        flex : 1
        }
    ]    
}
});
person Roberto    schedule 11.11.2011