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

TS2345错误:Vue router-link添加id属性后构建失败

解决RouterLink加id导致的TS2345编译错误

给<router-link>加id属性后执行yarn run build触发TS2345错误,VS Code未提示该问题,又需要保留id用于元素获取,这里给你两个实用解决办法:

  • 自定义渲染模式(推荐)
    用Vue Router的custom属性结合插槽,自行渲染底层的<a>标签,直接把id加在a标签上,既不破坏路由导航功能,又能让TypeScript通过检查:

    <router-link to="/account/cards" custom v-slot="{ navigate }">
      <a id="yourCardsLink" class="dropdown-link" @click="navigate">
        你的卡片
      </a>
    </router-link>
    
  • 扩展RouterLink类型定义
    在项目的src目录下新建types/vue-router.d.ts文件,添加如下代码扩展RouterLink的属性类型,让TypeScript认可id属性:

    import 'vue-router'
    
    declare module 'vue-router' {
      interface RouterLinkProps {
        id?: string
      }
    }
    

    注意要确保你的tsconfig.json正确包含了这个类型文件的路径。

另外补充:VS Code没提示可能是编辑器类型缓存问题,重启编辑器或执行「Ctrl+Shift+P -> Reload Window」重新加载窗口,应该就能看到对应的类型提示了。

内容的提问来源于stack exchange,提问作者Sam Britt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 11:40:01