Bagaimana untuk Menyelesaikan Amaran \'Elak Mengubah Props\' dalam Vue 2?

Barbara Streisand
Lepaskan: 2024-10-23 18:03:02
asal
616 orang telah melayarinya

How to Resolve the

Mengelakkan Amaran "Memutasi prop" dalam Vue 2

Apabila meneroka pelajaran "Vue, Laravel dan AJAX" dalam "Learning Vue Step-by-Step" siri, pelajar sering menghadapi amaran:

vue.js:2574 [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "list" (found in component )
Salin selepas log masuk

Punca Amaran

Amaran itu timbul apabila kod dalam cangkuk kitar hayat yang dicipta() cuba mengubah suai prop senarai. Dalam Vue 2, prop tidak boleh diubah, bermakna nilainya tidak boleh diubah suai secara langsung. Menulis ganti prop dengan nilai bermutasi mencetuskan amaran.

Penyelesaian

Untuk mengelakkan amaran ini, kita perlu mencipta data atau harta terkira yang bergantung pada nilai awal daripada prop senarai. Vue.js kemudiannya akan mengemas kini sifat ini secara reaktif apabila keadaan komponen induk berubah, memastikan gelagat komponen kekal konsisten.

Memfaktorkan Semula Kod

Vue.component('task', {
    template: '#task-template',
    props: ['list'],
    data: function () {
        return {
            mutableList: JSON.parse(this.list), // Create data property based on prop
        }
    }
});
Salin selepas log masuk

Dalam ini kes, kami mencipta sifat data mutableList daripada prop senarai, yang akan digunakan untuk menyimpan sebarang pengubahsuaian setempat.

Nota Tambahan

  • Adalah penting untuk mengelakkan menggunakan nama yang sama untuk prop dan sifat data untuk mengelakkan kekeliruan.
  • Memahami prop dan kereaktifan dalam Vue.js adalah penting untuk mengekalkan kebolehselenggaraan kod. Rujuk panduan rasmi Vue.js untuk butiran lanjut.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Amaran \'Elak Mengubah Props\' dalam Vue 2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Artikel terbaru oleh pengarang
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!