1

我已经尝试过像这样的简单 MVC 示例How to proper activate an MVC View in 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();  
    }
});

我收到的结果是:

未捕获的类型错误:无法读取未定义的属性“长度”

错误在哪里?在 Sencha Touch 2.0 中使用带有 MVC 的视图添加按钮的正确方法是什么?

谢谢。

4

1 回答 1

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
        }
    ]    
}
});
于 2011-11-11T12:33:14.010 回答