Vue. js открыть и закрыть меню гамбургера - PullRequest
0 голосов
/ 24 февраля 2020

Я сделал навигационный ящик двумя способами: один открыть, а другой закрыть. К сожалению, они не работают. Когда я нажимаю кнопку, чтобы открыть ящик навигации, он работает, но затем я не могу закрыть его, нажав крестик.

Вот код:

<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 голосов
/ 24 февраля 2020

это не v-on:onclick, скорее, как вы указали в первой функции, просто v-on:click. Также вы можете использовать сокращение @click="someFunc", кроме того, вы не вызываете функцию, а просто добавляете обработчик событий, например: @click="openNav"

...