如图所示,左边有一个按钮,作用就是返回上一级,我是用vue3,第一个想到的是使用router.go(-1)
。
但是有一个问题,如果这个页面没有上一级页面,也就是用户直接进入的这个页面,而不是从其他页面跳转进入的这个页面,点击按钮就会失效。
我第一个想到的解决方案是监听history.length
,结果发现当使用router.go(-1)
进行页面跳转时,history.length
不会改变。
最后的解决方案是使用document.referrer
,判断逻辑如下:
document.referrer ? router.go(-1) : router.push('/')
有历史就返回上一级,没有历史就返回首页。