2012-07-09 71 views
1

我正在尝试为我的应用程序创建一个带后退按钮的通用标题栏。我使用{xclass:mUserStories.view.titlebar}将它包含在各种视图中。Sencha Touch 2.0:Universal Ext.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”和使用var t = this.getNarwhal(),但这也不起作用。

我不确定问题出在哪里id被保存,ID如何被调用,或者因为页面没有正确刷新。任何建议都会有帮助!

谢谢你的时间:)

回答

0

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

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