Javascript 单击链接时取消选中复选框
我正在用纯HTML和CSS(来自)制作这个简单的汉堡包菜单,我希望它在点击链接时自动关闭。将Javascript 单击链接时取消选中复选框,javascript,html,css,vue.js,Javascript,Html,Css,Vue.js,我正在用纯HTML和CSS(来自)制作这个简单的汉堡包菜单,我希望它在点击链接时自动关闭。将vue与路由器链接一起使用不会重新加载页面 <template> <nav> <input type="checkbox" id="menu" /> <label for="menu"></label> <div class="menu-content"> <router-link to=
vue
与路由器链接一起使用
不会重新加载页面
<template>
<nav>
<input type="checkbox" id="menu" />
<label for="menu"></label>
<div class="menu-content">
<router-link to="/" class="mainlink">{{ $t("message.navFront") }}</router-link>
<router-link to="/about" class="mainlink">{{ $t("message.navAbout") }}</router-link>
<router-link to="/portfolio" class="mainlink">{{ $t("message.navPort") }}</router-link>
</div>
</nav>
</template>
{{$t(“message.navFront”)}
{{$t(“message.navaabout”)}
{{$t(“message.navPort”)}
当单击菜单中的链接时,需要取消选中
下面解释了一个很好的vue事件:
也许是这样的:
模板
<router-link to="/" class="mainlink" v-on:click="uncheck"> {{ $t("message.navFront") }} </router-link>
您是否尝试过使用v-model绑定值
<input type="checkbox" id="menu" v-model="checkboxValue />
<router-link to="/" class="mainlink" @click.native="uncheck">{{ $t("message.navFront") }}</router-link>
有了这个功能,您应该能够在单击链接后取消选中复选框
编辑:显然routes链接元素不支持@click,但它可能支持@click.native(或v-on:click.native)向我们展示您的代码,要实现此StackOverflow,我们要做的不是如何创建站点…@Matheus Cuba,请遵循Thomas Alexander Woolff提供的链接,还有一个带边框的代码笔,你可以在这里看到他的源代码。@Davide:OP必须提供:重现所描述的问题所需的代码;解释代码运行时会发生什么(问题本身);对他/她想要或期望发生什么的解释。链接到外部资源(无论是CodePen、JS Fiddle还是他们自己的网站)并期望我们去那里查看代码是不可接受的(在许多情况下这是一个不错的奖励,但它不能代替发布问题中所需的代码。在vue.JS中,我认为JS应该是:方法:{取消选中:函数(事件){document.getElementById(“menu”).checked=false;}}但这给了我一个错误。我尝试了您的解决方案,好像vue实例没有更新。我正在运行vue cli安装,这可能是问题吗?脚本如下所示:导出默认值{data(){return{checkboxValue:true},方法:{uncheck(){this.checkboxValue=false}}}当@click=“uncheck”在路由器链接上时,它就不工作了!当它在一个普通的a href标记上时,我就像一个魔咒一样工作。Hi@ThomasAlexanderWoolff我已经看到路由器链接不支持click事件,但似乎通过使用v-on:click.native它可以工作。
<input type="checkbox" id="menu" v-model="checkboxValue />
<router-link to="/" class="mainlink" @click.native="uncheck">{{ $t("message.navFront") }}</router-link>
data() {
return {
checkboxValue: false,
}; },
methods:{
uncheck(){
this.checkboxValue = false;
}}