Sencha Touch 2.0:Universal Ext.TitleBar标题不变

时间:2012-07-09 07:59:52

标签: sencha-touch titlebar

我正在尝试为我的应用程序创建一个带有后退按钮的通用标题栏。我使用{xclass:mUserStories.view.titlebar}将它包含在各种视图中。

以下是标题栏的代码:

Ext.define('mUserStories.view.titlebar', {
    extend: 'Ext.TitleBar',
    id: 'narwhal',
    config: {
        docked: 'top',
        // id: 'narwhal',
        title: 'CHW Module',
        items: [{
            ui: 'back',
            text: 'Back',
            id: 'backButton'
            // hidden: true
        }]
    }
})

但是,当我尝试在切换到不同页面时动态更改工具栏时,标题栏的console.log表示_title已更改,但标题栏上的文本和按钮的“隐藏”属性不会更改。

以下是按下按钮切换页面时出现的逻辑代码:

toPage: function (arg) {
    var t = Ext.getCmp('narwhal');
    var b = Ext.getCmp('backButton');
    console.log(t,b)
    if (arg === PAGES.PATIENT_LIST) {
        t.setTitle('Patient List');
        b.setHidden(true)
    }
    Ext.getCmp('viewPort').setActiveItem(arg);
}

我还尝试在Narwhal的顶部包含一个ref:'#narwhal'并使用var t = this.getNarwhal(),但这也不起作用。

我不确定问题在于保存id的位置,如何调用id,或者因为页面没有正确刷新。任何建议都会有所帮助!

感谢您的时间:)

1 个答案:

答案 0 :(得分:0)

我的项目中遇到了同样的情况。

通过让控制器拥有对标题栏的引用并在我的tabPanel上监听activeItemChange,我设法让所有东西都像你想要的那样工作。