vue this.$router的所有参数和事件
时间: 2023-11-14 17:39:05 浏览: 110
`this.$router` 是 Vue.js 的 `vue-router` 插件提供的路由实例,它包含了一些常用的属性和方法,如下:
- `this.$router.push(location, onComplete?, onAbort?)`: 跳转到一个新的路由,`location` 参数可以是一个字符串路径或者一个描述地址的对象,`onComplete` 和 `onAbort` 分别是跳转成功和跳转失败的回调。
- `this.$router.replace(location, onComplete?, onAbort?)`: 跳转到一个新的路由,但是不会留下浏览历史记录。
- `this.$router.go(n)`: 前进或后退指定的历史记录步数,`n` 可以是正数或负数。
- `this.$router.back()`: 后退一步历史记录,等同于 `this.$router.go(-1)`。
- `this.$router.forward()`: 前进一步历史记录,等同于 `this.$router.go(1)`。
- `this.$router.currentRoute`: 当前激活的路由对象,它包含了当前路由的各种信息,如路径、参数、查询等。
- `this.$router.beforeEach(guard)`: 注册一个全局的前置路由守卫,每个路由跳转之前都会执行此函数。
- `this.$router.afterEach(hook)`: 注册一个全局的后置路由钩子,每个路由跳转之后都会执行此函数。
在路由跳转的过程中,还会触发一些事件,如下:
- `beforeEach`: 路由跳转之前触发的事件,可以通过 `next()` 方法控制路由跳转行为。
- `beforeResolve`: 路由解析完成之后触发的事件,此时所有异步组件都已经被加载,但是路由还未跳转。
- `afterEach`: 路由跳转之后触发的事件,此时组件已经被激活并渲染到页面上。
- `onError`: 路由跳转出现错误时触发的事件,可以通过此事件处理错误情况。
阅读全文