vue.js return getString();在Setup()中,但是我怎么才能在我的方法中访问路由器对象呢?

y3bcpkx1  于 2023-10-23  发布在  Vue.js
关注(0)|答案(2)|浏览(185)

如你所知,如果我这样做:

const router = useRouter();

在其中一个方法中,我得到了一个未定义的对象。所以我需要把它放在setup()中:

setup()
{
     const router = useRouter();
}

但是,我如何在我的方法中使用路由器对象呢?我的方法将执行router.push()。如何在我的方法中访问路由器对象?
谢谢

hc2pp10m

hc2pp10m1#

实际上,您可以混合使用组合API和选项API。我将把它作为一个解决方案,而不是一个建议。我在将应用程序从选项API迁移到组合API时使用了它。显然,如果你是从头开始,最好坚持其中之一。
所以,诀窍是在setup()中返回路由器,然后它就可以作为示例属性使用了。

import { useRouter } from "vue-router";
export default {
  setup() {
    const router = useRouter();

    return {
      router,
    };
  },
  methods: {
    navigateTo(route) {
      this.router.push(route);
    },
  },
};
cczfrluj

cczfrluj2#

你可以在setup()中创建一个函数,然后调用它。
举个例子:

const router = useRouter()
    
function pushQuery() {
  router.push({...})
}
<button @click="pushQuery">Push Query</button>

相关问题