Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

ngoquocdat's avatar

Close Navigation after click to a <Link>

Hi guys, I have a question, I using Inertiajs to build app. I want to check event click to <Link> component to close my navigation

Does anyone have any idea?

Thanks

0 likes
5 replies
ngoquocdat's avatar
<template>
    <header class="header header--static" :class="{ 'header--menu': toggleMenu }">
        <div class="container">
            <div class="row">
                <div class="col-12">
                    <div class="header__content">
                        <button @click="toggleMenu = !toggleMenu">
                            <span></span>
                            <span></span>
                            <span></span>
                        </button>

                        <Link href="/" class="header__logo">
                            <img src="/frontend/img/logo.svg">

                        </Link>

                        <ul class="header__nav" :class="{ 'header__nav--active': toggleMenu }">
                            <li class="header__nav-item">
                                <Link class="header__nav-link" href="/">Trang chủ</Link>
                            </li>
                            <li class="header__nav-item">
                                <Link class="header__nav-link" href="/contact">Liên hệ</Link>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>
    </header>
</template>

<script>
import {Link, usePage} from '@inertiajs/inertia-vue3'

export default {
    components: {Link},
    data() {
        return {
            toggleMenu: false,
        }
    },
}
</script>

I want to set toggleMenu to false if click to a <Link>

tykus's avatar
tykus
Best Answer
Level 104

@datlechin you can use one of the hooks such as onStart onFinish etc to do something whenever the Link's work is beginning/ending

Please or to participate in this conversation.