vue3,监听route路由变化
时间: 2024-10-14 09:03:27 浏览: 32
通常是在`setup()`函数中完成,因为Vue 3引入了Composition API,这使得状态管理变得更加简洁。你可以使用`useRoute`钩子来自Vue Router库来获取当前的路由实例,并监听其变化。
下面是一个简单的例子:
```javascript
import { useRoute } from 'vue-router';
// 在setup()函数中
const router = useRoute();
function setup() {
const isActive = (path) => router.path === path; // 判断路径是否匹配
// 当路由发生变化时,会触发这个响应式计算属性的变化
router.onRouteChange((to, from) => {
console.log(`当前路由已切换至 ${to.path}`);
if (isActive('/your-target-path')) {
// 执行特定操作
console.log('目标路径匹配');
}
});
return () => {
// 路由离开组件时,记得移除监听
router.offRoute(() => {
// 清理逻辑
});
};
}
export default {
setup,
};
```
在上述代码中,`isActive`函数用于检查当前路由是否等于指定路径。`onRouteChange`方法会在路由改变时触发,你可以在这里添加你需要处理路由变化的业务逻辑。别忘了在组件卸载时通过`offRoute`移除监听,以避免内存泄漏。
阅读全文