Rumah >hujung hadapan web >View.js >Tatasusunan dalam Vue telah berubah, tetapi halaman tidak dipaparkan, apakah yang perlu saya lakukan?
Untuk menyelesaikan masalah halaman tidak dipaparkan selepas menukar tatasusunan Vue: Pastikan tatasusunan responsif, gunakan kaedah Vue.set() atau tatasusunan asli. Menyemak sama ada tatasusunan telah diubah suai melalui kaedah reaktif. Gunakan jam tangan atau pendengar yang dikira untuk mencetuskan pemaparan manual. Gunakan Vue.nextTick() untuk mencetuskan pemaparan secara manual. Semak DOM Maya dan cipta semula contoh Vue.
Penyelesaian kepada halaman tidak dipaparkan selepas tatasusunan berubah dalam Vue
Dalam Vue, apabila tatasusunan berubah, halaman biasanya dipaparkan secara automatik. Walau bagaimanapun, kadangkala anda menghadapi situasi di mana halaman tidak dipaparkan selepas tatasusunan diubah. Berikut ialah beberapa cara untuk menyelesaikan masalah ini:
1 Pastikan tatasusunan reaktif
Vue hanya boleh menjejaki data reaktif, jadi tatasusunan mestilah reaktif. Tatasusunan reaktif boleh dibuat dengan cara berikut:
Vue.set()
Kaedah: Vue.set(vm.array, index, value)
Vue.set()
方法:Vue.set(vm.array, index, value)
Array.prototype.push()
、pop()
、shift()
、unshift()
等原生数组方法2. 检查数组是否被修改
如果数组不是通过响应式的方法修改的,Vue 无法检测到更改。确保对数组的修改使用响应式方法或将数组替换为新的响应式数组。
3. 触发侦听器
可以通过使用 watch
或 computed
侦听数组的更改并手动触发页面渲染。
watch 侦听器:`
javascript
vm.watch('array', (newValue, oldValue) => {
// 手动触发渲染
})
computed 侦听器:`
javascript
vm.computed({
get() {
return vm.array.length;
}
})
4. 使用 Vue.nextTick()
Vue.nextTick()
(或 $nextTick()
pop()
, shift()
, unshift()
dan asli lain kaedah tatasusunan Vue.nextTick()
🎜🎜🎜Vue.nextTick()
(atau $nextTick( )) akan menjadualkan fungsi panggil balik ke dalam kitaran kemas kini DOM seterusnya. Paparan halaman boleh dicetuskan secara manual dalam fungsi panggil balik. 🎜🎜🎜<pre class="brush:php;toolbar:false"><code class="javascript">vm.$nextTick(() => {
vm.forceUpdate();</code></pre>🎜🎜<pre class="brush:php;toolbar:false"><code>
**5. 检查 Virtual DOM**
虽然不太常见,但有时 Virtual DOM 可能会丢失数组更改。可以通过销毁 Vue 实例并重新创建它来解决此问题。
</code></pre>
Atas ialah kandungan terperinci Tatasusunan dalam Vue telah berubah, tetapi halaman tidak dipaparkan, apakah yang perlu saya lakukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!