Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Nyahpepijat Ralat 'Ketakpadanan Pokok DOM Maya' dalam Vue.js/Nuxt.js?

Bagaimana untuk Nyahpepijat Ralat 'Ketakpadanan Pokok DOM Maya' dalam Vue.js/Nuxt.js?

DDD
Lepaskan: 2024-11-15 03:28:02
asal
1096 orang telah melayarinya

How to Debug the

Menyelesaikan masalah "Virtual DOM Tree Mismatch" Ralat dalam Vue.js/Nuxt.js

"Pokok DOM maya yang diberikan oleh pihak klien tidak sepadan dengan kandungan yang diberikan pelayan" ralat boleh berlaku dalam aplikasi Vue.js/Nuxt.js disebabkan oleh penanda HTML yang tidak sepadan atau unsur yang tiada. Untuk menyahpepijat perkara ini dengan berkesan, anda perlu mengenal pasti elemen khusus yang menyebabkan isu tersebut.

Periksa Pokok DOM Menggunakan Chrome DevTools

  1. Buka Chrome DevTools (tekan F12).
  2. Navigasi ke halaman yang mencetuskan ralat.
  3. Tatal ke bawah ke mesej ralat dalam konsol.
  4. Klik pada hiperpautan untuk lokasi sumber (cth., vue.runtime.esm.js:574).
  5. Tetapkan titik putus pada baris itu.
  6. Muat semula halaman atau cetuskan ralat sekali lagi.
  7. Jeda pada titik putus, yang sepatutnya berada dalam fungsi "patch" dalam "vue.runtime.esm.js."
  8. Tetapkan titik putus pada baris 15 dalam fungsi "hidrat", di mana penegasan gagal.
  9. Cetuskan ralat sekali lagi dan nilaikan "elm" dan "vnode" dalam konsol DevTools.
  10. Periksa kandungan HTML "elm" dan bandingkannya dengan perwakilan nod DOM maya "vnode" untuk mencari elemen khusus menyebabkan ralat.

Contoh HTML Tidak Padan:

<div>
  <p>Server-rendered content <a>incorrectly nested inside</a></p>
</div>
Salin selepas log masuk

Perwakilan Pokok DOM Maya:

h createElement(
  "div",
  // ...props
  [
    h(
      "p",
      // ...props
      [
        h(
          "a",
          // ...props
          "incorrectly nested inside"
        ),
      ],
    ),
  ],
)
Salin selepas log masuk

Ralat berlaku kerana dalam pepohon DOM maya yang diberikan oleh pihak klien, elemen ialah anak langsung

elemen, manakala dalam kandungan yang diberikan pelayan, ia bersarang di dalam

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