繁体   English   中英

Vue.js 3、vue-router、@click 事件重新加载整个页面

[英]Vue.js 3, vue-router, @click event reloads whole page

我是 Vue 的新手,我想在移动导航上单击 menuItem 时运行功能 toggleMenu(打开/关闭菜单),但是然后整个页面重新加载,谁来阻止? 这是我的链接:

 <router-link to="/" @click="toggleMenu">
    <div class="nav-item">Home</div>
  </router-link>

我尝试添加 @click.prevent 并阻止重新加载但不会将我发送到路径。

编辑:

所以我让它工作要感谢 Boussadjra Brahim 的回答,但我用 CompositionAPI 做到了,我使用了vue-router useRouter()钩子

模板:

 <router-link
  to="/"
  @click.prevent="toggleMenu">
  Home </router-link>

设置():

const router = useRouter();

function toggleMenu(){
   router.push('/'); 
}

添加prevent修饰符,就像你在toggleMenu所做的toggleMenu添加this.$router.push("/");

 <router-link to="/" @click.prevent="toggleMenu">
    <div class="nav-item">Home</div>
  </router-link>

现场演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM