Rumah >hujung hadapan web >View.js >Penjelasan terperinci tentang proses pelaksanaan menu pokok dalam dokumentasi Vue

Penjelasan terperinci tentang proses pelaksanaan menu pokok dalam dokumentasi Vue

WBOY
WBOYasal
2023-06-21 09:10:512288semak imbas

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:

  1. Tentukan templat asas untuk menu pokok:

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.

  1. Tentukan atribut data komponen:

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.

  1. Logik interaksi dalam 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.

  1. Ikat peristiwa klik dalam paparan

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn