vue3判断历史记录中是否有回退(有的话返回上一页,没有跳转默认页)

import { useRouter } from 'vue-router'

const router = useRouter()

const onClickLeft = () => {
  // 判断历史记录中是否有回退
  if (history.state?.back) {
    router.back()
  } else {
    router.push('/')
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue Router ,你可以使用 `$router` 对象的 `go` 方法来实现返回上一级路由,并通过判断浏览器的历史记录长度来确定是否有上一级路由。 以下是一个示例代码,演示了在 Vue 组件如何实现路由返回判断是否有上一级路由: ```javascript // 在 Vue 组件 export default { methods: { goBack() { if (this.$router.history.length > 1) { this.$router.go(-1); // 返回上一级路由 } else { // 没有上一级路由的处理逻辑 // 例如跳转到其他页面或显示提示信息 } } } } ``` 在上述示例,我们定义了一个 `goBack` 方法,该方法首先判断 `$router.history` 的长度是否大于 1,如果大于 1,则表示有上一级路由,使用 `$router.go(-1)` 返回上一级路由;否则,表示没有上一级路由,你可以在这里添加你自己的处理逻辑,例如跳转到其他页面或显示提示信息。 在你的 Vue 组件,你可以调用 `goBack` 方法来实现返回上一级路由的操作。例如,在按钮的点击事件调用 `goBack` 方法: ```html <template> <div> <button @click="goBack">返回上一级</button> </div> </template> <script> export default { methods: { goBack() { if (this.$router.history.length > 1) { this.$router.go(-1); // 返回上一级路由 } else { // 没有上一级路由的处理逻辑 // 例如跳转到其他页面或显示提示信息 } } } } </script> ``` 在上述示例,点击按钮时会调用 `goBack` 方法,据是否有上一级路由来执行相应的操作。如果有上一级路由,会返回上一级;否则,你可以在 `else` 分支添加你自己的处理逻辑。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值