在setup函数内 vue3监听router变化
时间: 2023-11-17 10:21:06 浏览: 278
vue实例,watch监听路由地址的改变
在Vue3中,可以在`setup`函数内使用`watch`函数监听路由变化。具体实现如下:
```javascript
import { watch, onBeforeMount } from 'vue'
import { useRouter } from 'vue-router'
export default {
setup() {
const router = useRouter()
watch(() => router.currentRoute, (to, from) => {
// to: 当前路由对象
// from: 上一个路由对象
console.log('路由变化', to, from)
})
onBeforeMount(() => {
// 在组件挂载前,可以获取当前路由对象
console.log('当前路由', router.currentRoute.value)
})
return {}
}
}
```
在上述代码中,我们使用`useRouter`函数获取路由实例,并使用`watch`函数监听`currentRoute`属性的变化。当路由发生变化时,`watch`函数会自动执行回调函数,我们可以在回调函数中执行一些操作。另外,我们还使用`onBeforeMount`钩子函数,在组件挂载前获取当前路由对象。
阅读全文