【问题标题】:Ionic / Angular UI router History / Navigation stack: Back button missing sometimes离子/角度用户界面路由器历史/导航堆栈:有时缺少后退按钮
【发布时间】:2015-09-02 09:40:02
【问题描述】:

我们有一个应用程序,它使用 Ionic / Angular 的导航堆栈呈现文件夹结构,其中每个文件夹都可以包含可以从那里“打开”的详细对象。如果您现在打开一个包含选项卡的详细信息对象,则没有可用的后退按钮(这是由于各个历史堆栈而导致的已知限制)。

我们现在遇到了以下问题:作为解决方案,我创建了一个自己的关闭/返回按钮,方法是用每个对象选项卡上对象的先前文件夹视图覆盖 inoicHistory.backView,然后返回 (ionigHistory.goBack() 到那个view) 关闭对象的详细信息时。

不幸的是,尽管导航堆栈/历史记录仍然可用,但有时导航堆栈的某些位置的后退按钮不再可见。您看不到返回按钮,但您可以使用硬件返回按钮返回。然后,如果您不在根级别,您将再次看到后退按钮。当您现在再次前往同一视图时,后退按钮再次丢失,您只能使用 HW 后退按钮再次返回,其中后退按钮再次出现,依此类推。

如果对此有任何建议或解决方案,我们将非常高兴。它让我疯狂!已经在这个问题上花费了很多时间!

谢谢和问候

【问题讨论】:

    标签: cordova angular-ui-router ionic


    【解决方案1】:

    我想我有很多类似的问题,我没有找到完美的解决方案,但我知道如何解决这个问题。

    所以当我遇到后退按钮问题时,我会在导航栏中添加一个左按钮(不是导航后退按钮,而是导航左按钮),并将他的属性设置为后退按钮:一个箭头返回图标、一些 css 属性和我想要的行为(在控制器中使用指令或函数或任何我想要的)。

    我的解决方案不是最好的,但它是我发现快速轻松地修复此错误的唯一方法。如果您找到更好的解决方案,请告诉我!

    【讨论】:

      【解决方案2】:

      我也是,''nav-left-button'' 又快又脏。 我真的很想找到一个完美的解决方案! 引用:“如果您找到更好的解决方案,请告诉我!” :)

      html:

      <ion-nav-buttons side="left">
          <button  class="left-arrow" 
              ng-click="goRoot();" ng-if="!$ionicHistory.backTitle()">
      
          </button></ion-nav-buttons>
      

      js:

      $scope.goRoot=function(){
          $ionicHistory.nextViewOptions({
        disableAnimate: true,
        disableBack: true,
        historyRoot:true
      });
      $state.go('root.shop');
       }
      

      【讨论】:

        猜你喜欢
        • 2021-06-01
        • 2013-01-14
        • 1970-01-01
        • 1970-01-01
        • 2015-02-08
        • 2016-06-06
        • 2015-01-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多