1

sencha touch 2.2.1的控制器的init函数中是否可以获取视图组件?

如果我正在尝试下面的代码,我会得到所有 3 个日志的未定义:

refs: {
    mainPanel: '#HomeView'
}
init: function(){
    console.warn(this.getMainPanel());
    console.warn(this.mainPanel);
    console.warn(Ext.ComponentQuery.query('#getOffersButtonHomeView')[0]);
}

视图代码:

    Ext.define('DeviceAPIFramework.view.HomeView', {
    extend: 'Ext.Panel',
    xtype: 'HomeView',
    id: 'HomeView',
    requires: [
        'Ext.Button',
        'Ext.dataview.List'
    ],

    config: {
        items: [{
            xtype: 'panel',
            layout: 'hbox',
            margin: '5 0 15 15',
            items: [{
                xtype: 'button',
                text: 'Get Offers',
                itemId: 'getOffersButtonHomeView',
                id: 'getOffersButtonHomeView',
                ui: 'confirm',
                width: 150
            }]
        }, {

        .....

这种情况有什么解决办法吗?

对于导航和显示面板,我使用的是我添加到 Ext.ViewPort 的 NavigationView(用于显示具有 xtype 的视图的推送方法)。

4

1 回答 1

2

我终于发现控制器中有一个启动函数,它在视图初始化后被调用。

launch: function() {
    Ext.ComponentQuery.query('#getOffersButtonHomeView')[0].someMethod(someParameter);
},
于 2013-07-08T23:49:10.263 回答