如果在setup()
函数之外的其他地方需要访问路由器(router),可以使用getCurrentInstance()
函数获取当前组件实例,然后从中访问路由器。下面是一个示例:
- import { getCurrentInstance } from 'vue';
-
- // 在需要访问路由器的地方
- const instance = getCurrentInstance();
- if (instance) {
- const router = instance.appContext.config.globalProperties.$router;
- // 现在你可以访问路由器的属性和方法
- // 例如:router.currentRoute.value.path
- // 或者:
- router.push({
- name: "home",
- query: {},
- });
- }
在上面的示例中,getCurrentInstance()
函数返回当前正在执行的组件实例。然后,可以从组件实例中访问$router
属性来获取路由器。