vue3 setup中 vue-router如何判断是从哪个路径跳转过来的?
时间: 2024-09-25 14:13:09 浏览: 46
在 Vue 3 中,你可以使用 `setup` 函数结合 `useRouter` hook 来获取路由信息并判断用户的来源路径。`vue-router` 提供了 `beforeRouteUpdate` 和 `beforeRouteEnter` 这两个生命周期钩子,这两个钩子在导航发生改变时会被调用。
例如:
```javascript
import { useRouter } from 'vue-router';
const router = useRouter();
// 在 setup 函数中使用
setup() {
const isFromPathA = ref(false);
const isFromPathB = ref(false);
watch(() => router.currentRoute.path, (newPath) => {
if (newPath === '/pathA') {
isFromPathA.value = true;
isFromPathB.value = false;
} else if (newPath === '/pathB') {
isFromPathA.value = false;
isFromPathB.value = true;
} else {
// 如果不是 pathA 或 pathB,可以设置默认状态或其他处理
isFromPathA.value = false;
isFromPathB.value = false;
}
});
return {
isFromPathA,
isFromPathB, // 可以在模板中根据这两个值来展示不同的内容
};
}
阅读全文