您好,登錄后才能下訂單哦!
需要注意的是,Vue之所以能夠監(jiān)聽Model狀態(tài)的變化,是因?yàn)镴avaScript語言本身提供了Proxy或者Object.observe()機(jī)制來監(jiān)聽對象狀態(tài)的變化。但是,對于數(shù)組元素的賦值,卻沒有辦法直接監(jiān)聽,因此,如果我們直接對數(shù)組元素賦值:
vm.todos[0] = { name: 'New name', description: 'New description' };
會導(dǎo)致Vue無法更新View。
正確的方法是不要對數(shù)組元素賦值,而是更新:
vm.todos[0].name = 'New name'; vm.todos[0].description = 'New description';
或者,通過splice()方法,刪除某個元素后,再添加一個元素,達(dá)到“賦值”的效果:
var index = 0; var newElement = {...}; vm.todos.splice(index, 1, newElement);
Vue可以監(jiān)聽數(shù)組的splice、push、unshift等方法調(diào)用,所以,上述代碼可以正確更新View。
以上這篇解決Vue 通過下表修改數(shù)組,頁面不渲染的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。