【问题标题】:Preventing navigationview Back Button防止navigationview后退按钮
【发布时间】:2012-10-19 20:28:47
【问题描述】:

有什么方法可以防止navigationview的导航栏中默认的后退按钮行为?

我正在尝试使用 Sencha Touch 2 历史记录和链接功能与路由器,但这需要我基本上拦截所有按钮点击,以便我可以更新 url。

导航栏中的后退按钮会造成各种噩梦,如果有人认为他们有替代解决方案,我可以提供代码,但最好防止默认的后退按钮行为(以便玩得好带浏览器后退按钮)

【问题讨论】:

    标签: sencha-touch-2 back-button navigationbar


    【解决方案1】:

    如果您想处理后退按钮,您可以使用navigation view 中的back event,它在导航视图的后退按钮被点击时触发。请参阅my previous answer 了解如何操作。

    如果您想完全隐藏后退按钮,只需使用:

    Ext.select('.x-button-back').hide();
    

    【讨论】:

    • 我正在监听返回事件,主要是为了更改 URL。然后我拦截路由器以防止它返回两次(更改 url 会触发路由器,所以你会返回两次)。
    • 拦截的工作方式是将 url 哈希与预期视图的 xtype 进行比较。如果它们匹配,那么我们会跳过 push(),因为后退按钮会自行完成。问题是,如果您使用浏览器后退按钮,则 url 会更改,如果它与前一个视图匹配,则会跳过推送,因为我们假设 sencha 后退按钮正在处理推送,所以它不起作用。
    【解决方案2】:

    试试这个 Ext.getCmp('navigationview's id').getNavigatorBar().hide()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-27
      • 1970-01-01
      • 2020-12-05
      • 1970-01-01
      • 2012-08-22
      • 2010-09-08
      • 2012-04-18
      相关资源
      最近更新 更多