Nuxt:如何防止 nuxt-link 转到另一个页面?

Posted

技术标签:

【中文标题】Nuxt:如何防止 nuxt-link 转到另一个页面?【英文标题】:Nuxt: how to prevent nuxt-link goes to another page? 【发布时间】:2020-05-10 03:28:14 【问题描述】:

我需要阻止nuxt-link 转到另一个页面。

这是我的代码

<nuxt-link :to="item.url" data-toggle="collapse" class="nav-link" v-b-toggle="'collapse-'+index" :ref="'parent-'+index" @click.native="toggleSubMenuIcon(index)">


methods: 
    toggleSubMenuIcon(index) 
      this.$store.dispatch('layout/TOGGLE_SUBMENU_ICON', index)
    
  

我需要一个类似的 e.preventDefault() 来阻止浏览器访问 item.url 处的页面

我也试过了

<nuxt-link :to="item.url" data-toggle="collapse" class="nav-link" v-b-toggle="'collapse-'+index" :ref="'parent-'+index" @click.native="toggleSubMenuIcon(index), event => event.preventDefault()">

没有成功。

我不会在网址中使用简单的“哈希”,因为我不喜欢在网址浏览器中打印它。

谢谢

【问题讨论】:

【参考方案1】:

尝试添加event="",它对我有用

<nuxt-link event="" :to="item.url" data-toggle="collapse" class="nav-link" v-b-toggle="'collapse-'+index" :ref="'parent-'+index" @click.native="toggleSubMenuIcon(index), event => event.preventDefault()">

【讨论】:

这太奇怪了。我有一个 NuxtLink 在这样定义时运行良好:&lt;NuxtLink :to="myURL" @click.prevent="myFunction"&gt;link&lt;/NuxtLink&gt;。但是,在此过程中,事件捕获停止工作,现在只有在我将其更新为:&lt;NuxtLink :to="myURL" event="" @click.native="myFunction(), event =&gt; event.preventDefault()"&gt;link&lt;/NuxtLink&gt;... 我不明白为什么,但感谢您的提示!

以上是关于Nuxt:如何防止 nuxt-link 转到另一个页面?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Buefy 中使用 nuxt-link 标签?

如何修复此错误 [Vue warn]: Unknown custom element: <nuxt-link> in unit testing with Jest

[Nuxt] Navigate with nuxt-link and Customize isClient Behavior in Nuxt and Vue.js

nuxt.js服务端渲染中如何实现路由的跳转

Nuxt.js 本地站点页面仅在登陆时从 Strapi 加载数据,而不是通过 <nuxt-link> 导航

使用 nuxt-link 导航到不同页面上的锚点/哈希不起作用