Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menyelesaikan Amaran \'Elak Mengubah Props\' 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 )
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 } } });
Dalam ini kes, kami mencipta sifat data mutableList daripada prop senarai, yang akan digunakan untuk menyimpan sebarang pengubahsuaian setempat.
Nota Tambahan
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!