Rumah > hujung hadapan web > View.js > teks badan

Bagaimana untuk melaksanakan paparan gelung rekursif data dalam Vue

PHPz
Lepaskan: 2023-04-10 09:28:36
asal
1263 orang telah melayarinya

Vue ialah rangka kerja JavaScript popular yang sering digunakan untuk membina aplikasi bahagian hadapan. Vue mempunyai prestasi cemerlang dan kemudahan penggunaan, yang meningkatkan kecekapan pembangunan.

Paparan gelung ialah salah satu senario yang sangat biasa dalam pembangunan Vue. Dalam pembangunan sebenar, kita biasanya perlu memaparkan beberapa data dengan struktur hierarki, seperti struktur pokok atau senarai berbilang peringkat. Ini memerlukan penggunaan gelung rekursif untuk memaparkan data.

Artikel ini akan memperkenalkan cara melaksanakan paparan gelung rekursif data dalam Vue.

  1. Bina model data

Pertama, kita perlu mentakrifkan model data dan mendaftarkannya dalam contoh Vue.

Andaikan kita ingin memaparkan data berstruktur pokok, yang terdiri daripada medan berikut:

  • id: ID nod
  • nama: nama nod
  • kanak-kanak: senarai nod anak

Kami boleh menggunakan rekursi untuk mentakrifkan model data ini:

const treeData = [
  {
    id: 1,
    name: '节点 1',
    children: [
      {
        id: 2,
        name: '节点 1-1',
        children: [
          {
            id: 3,
            name: '节点 1-1-1',
            children: []
          },
          {
            id: 4,
            name: '节点 1-1-2',
            children: []
          }
        ]
      },
      {
        id: 5,
        name: '节点 1-2',
        children: [
          {
            id: 6,
            name: '节点 1-2-1',
            children: []
          },
          {
            id: 7,
            name: '节点 1-2-2',
            children: []
          }
        ]
      }
    ]
  }
];

Vue.component('tree-node', {
  template: `
    <div>
      <div>{{ node.name }}</div>
      <tree-node v-for="child in node.children" :node="child" :key="child.id"></tree-node>
    </div>
  `,
  props: ['node'],
});

new Vue({
  el: '#app',
  data() {
    return {
      treeData: treeData,
    };
  },
});
Salin selepas log masuk

Dalam kod di atas, kami menggunakan nama Laksanakan paparan gelung rekursif data untuk tree-node komponen. Komponen ini akan menerima prop bernama node, yang mewakili objek data nod semasa. Dalam templat komponen, kami mula-mula memaparkan nama nod semasa dan kemudian secara rekursif memaparkan nod anak.

Nota: Kami menggunakan arahan v-for untuk menggelung melalui nod anak nod semasa, yang memerlukan penetapan nilai kunci unik untuk setiap nod anak. Di sini kita menggunakan id nod anak sebagai kunci.

  1. Gunakan gelung rekursif dalam templat

Selepas definisi model data dan pendaftaran komponen selesai, kami boleh menggunakan gelung rekursif dalam templat Vue untuk memaparkan data.

Dengan mengandaikan bahawa model data kami telah didaftarkan sebagai komponen bernama tree-node, kami boleh menggunakan kod berikut dalam templat Vue untuk memaparkan data:

<div id="app">
  <tree-node :node="treeData[0]"></tree-node>
</div>
Salin selepas log masuk

Dalam kod di atas , kami menggunakan komponen tree-node dan lulus dalam nod akar model data sebagai prop.

Dalam contoh di atas, kami menunjukkan data berstruktur pokok. Dengan menggunakan gelung rekursif dan komponenisasi, kami boleh memaparkan data hierarki dengan mudah.

  1. Ringkasan

Melalui pengenalan artikel ini, saya percaya anda telah memahami cara menggunakan gelung rekursif untuk memaparkan data dalam Vue. Ini adalah senario yang sangat biasa dan sangat penting untuk membangunkan aplikasi praktikal. Dalam pembangunan sebenar, kami juga boleh membuat lebih banyak pengembangan dan pengoptimuman berdasarkan ini untuk menjadikan aplikasi lebih cekap dan lebih mudah untuk digunakan.

Terima kasih kerana membaca!

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan paparan gelung rekursif data dalam Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!