Vue.js 打开和关闭汉堡包菜单
Vue.js open and close hamburger menu
我用两种方法制作了一个导航抽屉,一种打开,一种关闭。不幸的是,他们没有工作。当我单击按钮打开导航抽屉时,它正在工作,但我无法通过单击十字将其关闭。
代码如下:
<div class="navigationdrawer">
<span v-on:click="openNav()" style="font-size:30px;cursor:pointer;">☰</span>
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" v-on:onclick="closeNav()">×</a>
<a v-bind:href="link1">{{ name1 }}</a>
<a v-bind:href="link2">{{ name2 }}</a>
<a v-bind:href="link3">{{ name3 }}</a>
<a v-bind:href="link4">{{ name4 }}</a>
</div>
</div>
export default {
name: 'NavigationDrawer',
props: {
msg: String,
name1: String,
name2: String,
name3: String,
name4: String,
link1: String,
link2: String,
link3: String,
link4: String
},
methods: {
openNav() {
document.getElementById('mySidenav').style.width = '12%'
},
closeNav() {
document.getElementById('mySidenav').style.width = '0%'
}
}
}
它不是 v-on:onclick
,而是你把它放在第一个函数中 v-on:click
。您也可以使用 shorthand @click="someFunc"
,此外您不调用该函数,而只是放入事件处理程序,如下所示:
@click="openNav"
我用两种方法制作了一个导航抽屉,一种打开,一种关闭。不幸的是,他们没有工作。当我单击按钮打开导航抽屉时,它正在工作,但我无法通过单击十字将其关闭。
代码如下:
<div class="navigationdrawer">
<span v-on:click="openNav()" style="font-size:30px;cursor:pointer;">☰</span>
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" v-on:onclick="closeNav()">×</a>
<a v-bind:href="link1">{{ name1 }}</a>
<a v-bind:href="link2">{{ name2 }}</a>
<a v-bind:href="link3">{{ name3 }}</a>
<a v-bind:href="link4">{{ name4 }}</a>
</div>
</div>
export default {
name: 'NavigationDrawer',
props: {
msg: String,
name1: String,
name2: String,
name3: String,
name4: String,
link1: String,
link2: String,
link3: String,
link4: String
},
methods: {
openNav() {
document.getElementById('mySidenav').style.width = '12%'
},
closeNav() {
document.getElementById('mySidenav').style.width = '0%'
}
}
}
它不是 v-on:onclick
,而是你把它放在第一个函数中 v-on:click
。您也可以使用 shorthand @click="someFunc"
,此外您不调用该函数,而只是放入事件处理程序,如下所示:
@click="openNav"