【问题标题】:Remove forward view from history in ionic从离子历史中删除前向视图
【发布时间】:2016-08-31 11:16:27
【问题描述】:

我需要从历史记录中删除特定视图,特别是 forwardView。 我的情况/导航是这样的:
ion1 -> ion3 ->(stateParam A 发送到视图)ion5 -> ion3 ->(stateParam B 发送到view) ion5 -> ion7 -> ion5,在这里我以历史记录中的前一个 ion5 视图(使用 stateParam A)结束。
我知道如果我在 ion5 上使用缓存视图,则不会出现此问题,但由于其他原因,我不能在此处使用缓存视图。

我想要做的是在我第一次返回 ion3 时从历史堆栈中删除 forwardView (ion5),因此具有正确 stateParam 的新 ion5*(它将获得其他数字,但仅供参考)视图是保存在历史中。然后当我导航到 ion7 并返回时,正确的 ion5* 将从历史记录中恢复。

我认为 removeBackView 不适用于此处,也不适用于位置替换。

【问题讨论】:

    标签: angularjs ionic-framework hybrid-mobile-app


    【解决方案1】:

    我意识到这个问题已经快一年了,但我自己也遇到了类似的问题,所以我想我会回答的。我建议使用$ionicView.afterLeave,然后使用$ionicHistory.currentStateName() 检查您到达的视图。

    满足您的条件后,您可以使用$ionicHistory.clearHistory() 删除前视图(以及后视图)。这不会影响$stateParams。可悲的是,没有办法只删除前视图,您还必须删除后视图。

    我会尝试为你的情况写一个例子:

    在 ion5 的控制器中:

    $scope.$on('$ionicView.afterLeave', function(event, data) {
        if ($ionicHistory.currentStateName() === 'ion3') {
            $ionicHistory.clearHistory();
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2013-08-03
      • 1970-01-01
      • 2015-12-22
      • 1970-01-01
      • 2015-09-02
      • 2011-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多