路由:
1、路由守卫
全局守卫:全局守卫作用于整个应用,包括全局前置守卫和全局后置守卫。
beforeEach 前置守卫
afterEach 后置守卫
beforeResolve 解析守卫
组件级守卫:组件内守卫直接定义在组件内部,包括 beforeRouteEnter
、beforeRouteUpdate
和 beforeRouteLeave
这三个钩子函数。
beforeRouteEnter 进入之前
beforeRouteUpdate 更新之前
beforeRouteLeave 离开之前
路由独享守卫:独享守卫作用于单个路由,也称为路由独享守卫。
beforeEnter 进入之前
路由跳转
原生的html/js:
1.声明式导航 a(用来跳转下载) href()
2.编程式导航 location.href
小程序:
1.声明式导航 navigator url
2.编程式导航 wx.navigatorTo wx.switchTab ...
veu:
1.声明式导航 router-link(用to属性跳转)
2.编程式导航 router.push('/')
vue3页面跳转
import {useRouter} from "vue-router"
const router=useRouter
router.push('/')
router.replace('/')A页面切换到B页面 再从B页面跳到C页面, B页面被替换返回到A页面
router.go(1)
router.back() 返回
传参数: 1.query
2.params
3.动态路由传参数
路由跳转的方式可以有多种,具体取决于所使用的技术和框架。以下是一些常见的路由跳转方式:
- 编程式导航:在Vue.js中,你可以使用
this.$router.push()
或this.$router.replace()
方法来进行编程式导航。这两个方法都会导航到不同的 URL,但是它们向 history 插入记录的方式是不一样的。push
会向 history 栈添加一个新的记录,而replace
则是替换掉当前的 history 记录。 - 声明式导航:在Vue.js中,你也可以使用
<router-link>
组件进行声明式导航。<router-link>
组件最终会被渲染成一个<a>
标签,点击这个标签可以实现路由跳转。<router-link>
组件接受一个to
属性,该属性可以是一个字符串路径,或者一个描述目标位置的对象。 - 导航守卫:在Vue-router中,你还可以使用导航守卫(navigation guards)来控制路由的跳转。导航守卫是一些函数,它们会在路由跳转的过程中被调用,你可以在这些函数中执行一些操作,如检查用户是否登录、检查用户是否有权限访问某个路由等。
- 使用页面栈:在某些应用程序中,如微信小程序,你可以使用页面栈来进行路由跳转。微信小程序提供了
wx.navigateTo
、wx.redirectTo
、wx.reLaunch
等API来实现页面之间的跳转。这些API可以关闭当前页面、跳转到应用内的某个页面,或者关闭所有页面并跳转到应用内的某个页面。