Saya cuba mencipta bar sisi navigasi. Akan ada projek utama dan sub-projek.
Saya cuba menunjukkan item kanak-kanak hanya apabila item induk diklik, dan saya mahu item kanak-kanak yang aktif mempunyai warna yang berbeza apabila saya mengklik pada item kanak-kanak. Bagaimanakah saya mencapai ini?
Ini yang saya cuba setakat ini.
<template> <div> <nav> <ul> <li v-for="(link, index) in navLinks" :key="index"> <router-link :to="link.path" class-active="active"> <span class="items"> {{ link.text }} </span> </router-link> <div v-if="link.sublinks && link.sublinks.length > 0"> //I want it to show only when the parent item is clicked <li v-for="(link, index) in belowLinks" :key="index"> <router-link :to="link.path" class-active="sub-active"> //trying to add the sub-active class but it's not working <span class="sub-items"> {{ link.text }} </span> </router-link> </li> </div> </li> </ul> </nav> </div> </template> <script> export default { data() { return { navLinks: [ { text: 'Contact', path: '/contact', sublinks: [ { text: 'Email', path: '/email', }, ], }, { text: 'About', path: '/about', }, ], belowLinks: [ { text: 'Blog', path: '/blog', }, { text: 'Portfolio', path: '/portfolio', }, ], }; }, }; </script> <style scoped > nav { height: 100vh; display: flex; flex-direction: column; background: #040521; justify-content: space-between; } ul { display: flex; align-items: center; margin-block-start: 0; margin-block-end: 0; padding-inline-start: 0; flex-direction: column; } a { text-decoration: none; display: flex; align-items: center; color: white; } a:hover { color: white; } li { list-style-type: none; padding: 10px 0px; width: 100%; } .page-link .active, .router-link-active { background-color: green; color: white !important; border-color: inherit !important; } .sub-active { background-color: yellow !important; color: white !important; border-color: inherit !important; } .items { padding: 10px 20px; } .sub-items { padding: 10px 0px 10px 40px; } </style>
Cuba sesuatu seperti coretan di bawah (anda terlepas satu lagi
ul
dalam pautan bersarang, kemudian hanya gunakan indeks senarai untuk menogol tunjukkan/sembunyikan navigasi):