Vue.js打开和关闭汉堡菜单

时间:2020-02-24 06:54:17

标签: vue.js menu navigation-drawer

我用两种方法制作了一个导航抽屉,一种是打开,另一种是关闭。不幸的是,他们没有工作。当我单击按钮以打开导航抽屉时,它正在工作,但是无法通过单击十字关闭它。

这是代码:

<div class="navigationdrawer">
       <span v-on:click="openNav()" style="font-size:30px;cursor:pointer;">&#9776;</span>

        <div id="mySidenav" class="sidenav">
        <a href="javascript:void(0)" class="closebtn" v-on:onclick="closeNav()">&times;</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%'
            }
        }

    }

1 个答案:

答案 0 :(得分:0)

它不是v-on:onclick,而是您将其放在第一个函数中的v-on:click。您还可以使用简写@click="someFunc",此外,您不必调用函数,而只需放入事件处理程序即可,如下所示: @click="openNav"