解决Vue2移动端(H5)项目,手机打开项目侧滑或者按物理返回键,始终是走this.$router.go(-1)

一、原因前言

最近开发Vue2移动端(H5)项目,用手机打开项目侧滑或者按物理返回键,始终是走this.$router.go(-1),即相当于点击了浏览器的返回键的项目。目前想要的效果是:只要回到初始页面,点击返回或者侧滑都应该回到工作台,不应该在一步一步的返回到之前进过的页面。

二、解决办法

需要监听HTML5``window.historypushState事件来解决

html 复制代码
<template>
  <div class="end_judging_scrap_steel">
    <t-header title="废钢终判" :back="goBack">
      <template #right>
        <div @click="goToHistory" class="history">历史记录</div>
      </template>
    </t-header>
  </div>
</template>
<script>
export default {
  name: 'endJudgingScrapSteel',
  data() {
    return {
     
    }
  },
  beforeDestroy() {
    window.removeEventListener('popstate', this.goBack, false)
  },
  mounted() {
    if (window.history && window.history.pushState) {
      // 向历史记录中插入了当前页
      history.pushState(null, null, location.href)
      window.addEventListener('popstate', this.goBack, false)
    }
  },
  methods: {
    goBack() {
      this.$router.push({ path: '/' });
    }
  },
};
</script>
相关推荐
今天也要晒太阳4734 分钟前
element表单和vxe表单联动校验的实现
vue.js
依赖_赖1 小时前
前端实现token无感刷新
前端·javascript·vue.js
hhcccchh2 小时前
学习vue第十三天 Vue3组件深入指南:组件的艺术与科学
javascript·vue.js·学习
zhengxianyi5152 小时前
ruoyi-vue-pro本地环境搭建(超级详细,带异常处理)
前端·vue.js·前后端分离·ruoyi-vue-pro
绝美焦栖3 小时前
低版本pdfjs升级
前端·javascript·vue.js
卤蛋fg63 小时前
vue 可视化表单设计器 vxe-form-design 创建自定义控件的详细用法(教程一)
vue.js
xkxnq3 小时前
第二阶段:Vue 组件化开发(第 26天)
前端·javascript·vue.js
小救星小杜、3 小时前
el-form 表格校验 开始和结束时间,时间选择范围
javascript·vue.js·elementui
菜鸟很沉3 小时前
Vue 3 组件双向绑定完全指南:update:modelValue 与 defineModel
前端·javascript·vue.js
Rrvive4 小时前
Vue3向全局广播数据变化
javascript·vue.js