Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击链接时取消选中复选框_Javascript_Html_Css_Vue.js - Fatal编程技术网

Javascript 单击链接时取消选中复选框

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=

我正在用纯HTML和CSS(来自)制作这个简单的汉堡包菜单,我希望它在点击链接时自动关闭。将
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;
}}