1.代码

created() {
  window.history.pushState(null, null, "");
  window.addEventListener("popstate", this.XXX);
},
destroyed() {
  window.removeEventListener("popstate", this.XXX);
},
methods: {
  XXX() {
    this.$router.push('home')
  },
}

如代码所示,本逻辑为list->home,当用户点击原生返回按钮后,如果list页原来有detail页返回,不再读取浏览器history对象中数据,返回detail页,而是直接返回home页,符合正常逻辑。其余页面亦是如此。

2.附 只要路由跳转不产生history,就可以指定原生、自定义返回按钮逻辑。

        1.this.$route.replace()

        2.<router-link replace></router-link>

Logo

前往低代码交流专区

更多推荐