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

如何给Nuxt 3的navigateTo方法添加新标签页打开参数?

Nuxt 3:实现外部链接在新标签页打开的navigateTo替代方案

navigateTo本身不支持添加target="_blank"这类参数,它的定位是处理应用内路由跳转,以及外部链接的当前页面重定向。要实现外部链接在新标签页打开,你可以用以下几种方式:

  • 直接使用原生window.open
    如果只是单纯的外部链接跳转,直接调用浏览器原生API即可:

    <script lang="ts" setup>
    function onEventTriggered() {
      window.open('https://google.com', '_blank')
    }
    </script>
    
  • 结合前置逻辑使用window.open
    如果你需要先执行一些逻辑(比如权限校验)再跳转,可以在逻辑完成后调用window.open:

    <script lang="ts" setup>
    async function onEventTriggered() {
      // 示例:前置权限检查逻辑
      const isAuthorized = await checkUserAuth()
      
      if (isAuthorized) {
        window.open('https://google.com', '_blank')
      } else {
        return navigateTo('/login')
      }
    }
    </script>
    
  • 模板中优先使用原生a标签
    如果是在模板里直接触发跳转,更推荐用原生<a>标签,它天然支持新标签页打开,还能添加安全属性rel="noopener noreferrer"防止潜在安全风险:

    <a href="https://google.com" target="_blank" rel="noopener noreferrer">打开Google</a>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 18:10:36