如你所知,如果我这样做:
const router = useRouter();
在其中一个方法中,我得到了一个未定义的对象。所以我需要把它放在setup()中:
setup() { const router = useRouter(); }
但是,我如何在我的方法中使用路由器对象呢?我的方法将执行router.push()。如何在我的方法中访问路由器对象?谢谢
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); }, }, };
cczfrluj2#
你可以在setup()中创建一个函数,然后调用它。举个例子:
setup()
const router = useRouter() function pushQuery() { router.push({...}) }
<button @click="pushQuery">Push Query</button>
2条答案
按热度按时间hc2pp10m1#
实际上,您可以混合使用组合API和选项API。我将把它作为一个解决方案,而不是一个建议。我在将应用程序从选项API迁移到组合API时使用了它。显然,如果你是从头开始,最好坚持其中之一。
所以,诀窍是在setup()中返回路由器,然后它就可以作为示例属性使用了。
cczfrluj2#
你可以在
setup()
中创建一个函数,然后调用它。举个例子: