Rumah >hujung hadapan web >View.js >Penjelasan terperinci tentang proses pelaksanaan menu pokok dalam dokumentasi Vue
Vue ialah rangka kerja JavaScript popular yang menyediakan banyak alatan dan komponen berguna untuk membantu pembangun membina aplikasi web yang cekap dan mudah diselenggara. Salah satunya ialah komponen menu pokok. Artikel ini akan memperkenalkan proses pelaksanaan menu pokok dalam dokumen Vue dan memberikan contoh kod terperinci.
Mencipta menu pokok dalam Vue adalah sangat mudah, cuma ikut beberapa langkah berikut:
Kami boleh menggunakan sintaks templat Vue untuk mentakrifkan bingkai menu pokok asas, seperti yang ditunjukkan di bawah:
<template> <div class="tree"> <ul> <li v-for="node in treeData"> {{ node.label }} <ul v-if="node.children"> <li v-for="childNode in node.children"> {{ childNode.label }} </li> </ul> </li> </ul> </div> </template>
Dalam kod templat di atas, kami mencipta satu elemen menu div
. Kami juga menggunakan arahan v-for
untuk melelaran melalui data dan menjana elemen li
bersarang dan elemen ul
untuk memaparkan struktur pokok. Teks label nod semasa akan dipaparkan di dalam elemen li
.
Dalam Vue, data komponen boleh disimpan dalam atribut data
. Kami perlu mentakrifkan atribut treeData
dalam komponen kami, iaitu format data yang mengandungi menu pokok.
<script> export default { name: "TreeMenu", data() { return { treeData: [ { id: 1, label: "Fruits", children: [ { id: 2, label: "Apple" }, { id: 3, label: "Banana" }, { id: 4, label: "Orange" } ] }, { id: 5, label: "Vegetables", children: [ { id: 6, label: "Carrot" }, { id: 7, label: "Potato" }, { id: 8, label: "Onion" } ] } ] }; } }; </script>
Kod di atas mentakrifkan data menu pokok ringkas. Setiap nod mengandungi atribut id
, label
dan children
. Atribut children
memegang satu lagi tatasusunan nod yang boleh digunakan untuk membina keseluruhan menu pokok.
Vue menyediakan pelbagai kaedah untuk memperkenalkan dan memproses logik interaksi. Di sini, kami menggunakan atribut methods
untuk mentakrifkan fungsi mudah untuk mengendalikan peristiwa klik nod untuk mengawal pengembangan dan pengecutan nod.
<script> export default { name: "TreeMenu", data() { return { treeData: [ { id: 1, label: "Fruits", expanded: false, children: [ { id: 2, label: "Apple" }, { id: 3, label: "Banana" }, { id: 4, label: "Orange" } ] }, { id: 5, label: "Vegetables", expanded: false, children: [ { id: 6, label: "Carrot" }, { id: 7, label: "Potato" }, { id: 8, label: "Onion" } ] } ] }; }, methods: { toggleNode(node) { node.expanded = !node.expanded; } } }; </script>
Dalam kod di atas, kami menambahkan atribut expanded
untuk mengawal keadaan nod yang dikembangkan dan diruntuhkan. Apabila anda mengklik pada nod dalam pepohon, fungsi toggleNode()
akan dicetuskan, dengan itu menukar keadaan berkembang dan runtuh nod.
Ikat fungsi toggleNode()
yang ditakrifkan sebelum ini kepada peristiwa klik nod
<template> <div class="tree"> <ul> <li v-for="node in treeData" :key="node.id"> <span @click="toggleNode(node)"> {{ node.label }} </span> <ul v-if="node.children && node.expanded"> <li v-for="childNode in node.children" :key="childNode.id"> <span @click="toggleNode(childNode)"> {{ childNode.label }} </span> </li> </ul> </li> </ul> </div> </template>
Di Atas Kod menambah elemen span
terikat pada acara klik dan memanggil kaedah toggleNode()
untuk mengawal pengembangan dan penutupan nod.
Akhir sekali, kami telah menyelesaikan pelaksanaan menu pokok Vue asas. Dalam contoh kod di atas, kami hanya menggunakan beberapa komponen asas dan API Vue. Walau bagaimanapun, kami boleh menyesuaikan menu pepohon mengikut keperluan kami, seperti menggunakan CSS untuk melaraskan gaya, atau menambah lebih banyak medan dan kaedah dalam lapisan data untuk memaparkan lebih banyak maklumat dan acara nod.
Atas ialah kandungan terperinci Penjelasan terperinci tentang proses pelaksanaan menu pokok dalam dokumentasi Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!