vue3+ts watch监控从路由从哪个页面跳转来的
时间: 2023-07-25 09:38:13 浏览: 104
vue3+ts+vuerouter+pinia+elementplus+ts环境模板搭建及vite打包优化
5星 · 资源好评率100%
对于 Vue3 + TypeScript 项目,你可以使用 `watch` 监听 `$route` 对象的变化,其中 `$route` 对象包含了当前路由的信息。你可以在 `$route` 对象中使用 `from` 属性获取路由跳转前的路由信息,例如:
```typescript
import { defineComponent, onMounted, watch } from 'vue'
import { RouteLocationNormalized } from 'vue-router'
export default defineComponent({
name: 'YourComponent',
setup() {
onMounted(() => {
watch(
() => $route,
(to: RouteLocationNormalized, from: RouteLocationNormalized) => {
console.log('从', from.path, '跳转到', to.path)
console.log('从', from.name, '跳转到', to.name)
},
{ immediate: true }
)
})
}
})
```
在上面的代码中,我们使用 `watch` 函数监听 `$route` 对象的变化,其中 `to` 和 `from` 参数类型均为 `RouteLocationNormalized`,表示跳转后的路由信息和跳转前的路由信息。你可以通过 `from.path` 或 `from.name` 获取跳转前的路由路径或名称。需要注意的是,在 TypeScript 中,需要先引入 `RouteLocationNormalized` 类型。
阅读全文