angularjs地址跳转删除历史记录

场景:
下单支付判断没有绑定手机号之后需要跳转到绑定手机号页面,绑定手机号成功之后再跳转到订单页,但是从订单页返回的时候不要返回到绑定手机页,而是下单的页面,这个时候就需要从绑定手机页跳转到订单页的时 候抹掉绑定手机页的历史纪录,这样返回的时候就回不到这一页了。
实现方式:
1.从下单页跳到手机页的时候,路由带参数(完成后要跳转的页面)
$state.go( 'bind mobile' , {"returnState" : "order" } );
2.跳到手机页后接受路由参数 ($stateParams.returnState)

if($stateParams.returnState){
    var backView = $ionicHistory.backView();
    $state.go($stateParams.returnState, null, {location: 'replace'}).then(function(){
        window.setTimeout(function(){
            $ionicHistory.viewHistory().backView = backView;
        }, 0);
    });
}else{
    $ionicHistory.goBack();
}

注释: 1.$state.go 的第三个参数{ location:'replace' }这样可以实现浏览器抹掉该记录;
2.但是ionic 有自己的 history,$ionicHistory.viewHistory().backView 就是它的上一层窗口,首先在手机页保存下它的backView,等跳转到订单页时,将这一页的backView用上一次保存的view代替。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,080评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,885评论 25 709
  • 同样是使用Java语言,为什么做MobileAPI的开发人员写不了Android程序,反之亦然。我想大概是各行有各...
    lookid阅读 862评论 1 2
  • 1,js事件队列异步机制 首先,js是单线程的,也就是说所有的同步任务都需要等到前一个执行完毕,才能继续执行后一个...
    芸芸人海之中独独遇见你阅读 463评论 0 1
  • 20170216周六。 休息两天,没有处理好自己和情绪的关系。 人一旦有不高兴,必定是和生活中的某些关系没有处理好...
    教育者杨敬阅读 205评论 0 0