目录
- vue返回上一页(后退)的几种方法与区别
- 案例
- 方法
- 区别
- vue的vue-router中返回上一页方式
- 方式1
- 方式2
- 方式3
- 方式4
- 总结
vue返回上一页(后退)的几种方法与区别
案例
从a页面=>b页面=>c页面,当前在c页面,执行某方法后可以如同按了浏览器后退键一样返回b页面
方法
①. 若项目使用vue-router,this.$router.go(-1)可以回到上一页
②. this.$router.back()
③. window.history.go(-1)
区别
①与②的区别是:
go(-1): 原页面表单中的内容会丢失:
- this.$router.go(-1):后退+刷新;
- this.$router.go(0):刷新;
- this.$router.go(1):前进;
back(): 原页表表单中的内容会保留:
- this.$router.back():后退 ;
- this.$router.back(0):刷新;
- this.$router.back(1):前进;
③的区别是:
history.go(-1)是返回浏览器的上一页,而由于Vue是单页面应用,有的浏览器对于hash变更不认为是两个不同的页面,在hash模式下就不会跳回浏览器上一页
vue的vue-router中返回上一页方式
方式1
该方法采用一个整数作为参数,表示在历史堆栈中前进或后退多少步
//原页面表单中的内容会丢失: this.$router.go() // 向前移动一条记录,与 router.forward() 相同 router.go(1) // 返回一条记录,与 router.back() 相同 router.go(-1) // 前进 3 条记录 router.go(3) // 如果没有那么多记录,静默失败 router.go(-100) router.go(100)
方式2
this.$router.back() back(): 原页面表单中的内容会保留; 1. this.$router.back(-1):后退; 2. this.$router.back(0):刷新; 3. this.$router.back(1):前进;
方式3
编程式导航,点击后返回指定页面,指明返回的页面路径。可以是任意路径
this.$router.push("/company");
方式4
window.history.go(-1)
history.go(-1)是返回浏览器的上一页,而由于Vue是单页面应用,有的浏览器对于hash变更不认为是两个不同的页面,在hash模式下就不会跳回浏览器上一页
其中,在开发阶段,方式一用的是最多的,但是需要注意一点,就是其真的是返回到上一页,所以有时候达不到我们想要的效果,这时候就可以借助方式三的编程式导航来解决,无论上一页是什么,点击返回按钮都只会跳转到指定的路由。不过最好在路由信息好久不变的情况下使用。省的改来改去的。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持本网站。
您可能感兴趣的文章:
- 在VUE3中禁止网页返回到上一页的方法
- vue中使用go()和back()两种返回上一页的区别说明
- vue返回上一页面时不刷新问题及解决方案
- Vue生命周期activated之返回上一页不重新请求数据操作
- vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置