Penyelesaian kepada masalah yang Vue menambah data tetapi tidak mengemas kini: 1. Gunakan "this.$set(target, key, value);" atau "Vue.set(target, key, value)". tambah atribut; 2. Gunakan berbilang slot secara dinamik dalam fungsi render dan hantarkan nilai ke slot.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi Vue 3, komputer Dell G3.
Apakah yang perlu saya lakukan jika vue menambah data tetapi tidak mengemas kini?
Selesaikan masalah data vue tidak dikemas kini dalam masa nyata (data telah berubah, tetapi data tidak dikemas kini dalam masa nyata)
1 . Dalam proses pembangunan kami menggunakan vue , anda mungkin menghadapi situasi:
Apabila contoh vue dijana, apabila data ditetapkan semula, kadangkala ia tidak akan dikemas kini secara automatik kepada paparan;
Kepada objek responsif Tambahkan sifat padanya dan pastikan sifat baharu ini juga responsif dan mencetuskan kemas kini paparan. Ia mesti digunakan untuk menambah atribut baharu pada objek responsif, kerana Vue tidak dapat mengesan atribut baharu biasa, dan anda perlu menggunakan kaedah terbina dalam vue 2. Vue.set() secara responsif menambah dan mengubah suai dataPada ketika ini, kita perlu mengetahui parameter yang diperlukan oleh Vue.set() API Rasmi: https://cn.vuejs.org/v2/api/#Vue-setKaedah panggilan: Vue .set( sasaran, kunci, nilai ) atau ini.$set(sasaran, kunci, nilai);sasaran: sumber data yang akan ditukar (boleh menjadi objek atau tatasusunan)kunci: Data khusus untuk ditukar nilai: nilai yang ditetapkan semula, panggilan: ini.$set(sasaran, kunci, nilai);Pengetahuan tambahan: vue Render scopedSlots Penggunaan lalai umum slot dalam memaparkan adalah seperti berikut: this.$slots.default tidak mempunyai nama untuk penggunaan<index-grid> <div slot="name" slot-scope="field" class="check-link" @click="rowLinkClick" > <span>{{ field.field.rowData.name }}</span> </div> </index-grid>
<sub-grid ref="indexGridSub"> <span v-for="(item, index) in fields" :key="index" slot="name" slot-scope="field" > <slot name="name" :field="field"></slot> </span> </sub-grid>
h( "td", { style: { width: field.width + "px" }, class: { borderRight }, // 作用域插槽格式 // { name: props => VNode | Array<VNode> } scopedSlots: this.$scopedSlots.name, // 如果组件是其他组件的子组件,需为插槽指定名称 slot: 'name' }, this.$scopedSlots.name({ field: field, rowData: rowData, }) );
tutorial video vue.js"
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika Vue menambah data tetapi tidak mengemas kininya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!