You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue.js中useRoute()在@click事件中调用返回undefined的问题求助

Vue.js中useRoute()在@click事件中调用返回undefined的问题求助

各位开发者好,我遇到了一个困扰我的问题:在我的Vue.js项目里使用useRoute()时,如果在<script setup>里定义的函数内部直接调用它,能正常返回路由对象,但把这个函数绑定到@click事件里调用时,useRoute()就返回undefined了。

下面是我的代码:

<script setup>
import { RouterLink, useRoute } from 'vue-router';

const activeRoute = function() {
  const route = useRoute();
  console.log(route);
};
</script>

<template>
  <nav>
    <div>
      <RouterLink
        to="/add/job"
        :class="activeRoute() ? 'text-white' : 'text-black'"
      >
        Add Job
      </RouterLink>
      <RouterLink @click="activeRoute()" to="/jobs">Jobs</RouterLink>
    </div>
  </nav>
</template>

我试过用setTimeout延迟5秒再打印route,结果还是undefined。另外我还打印了useRoute函数本身,发现它返回的是一个inject()函数——这明明是Vue内置的路由钩子,实在搞不懂为什么会出现这种情况,有没有大佬能帮我分析下问题出在哪?

备注:内容来源于stack exchange,提问作者Nidvar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 08:15:30