需要注意的是,Vue之所以能夠監聽Model狀態的變化,是因為JavaScript語言本身提供了Proxy或者Object.observe()機制來監聽對象狀態的變化。但是,對于數組元素的賦值,卻沒有辦法直接監聽,因此,如果我們直接對數組元素賦值:
vm.todos[0] = { name: 'New name', description: 'New description' };
會導致Vue無法更新View。
正確的方法是不要對數組元素賦值,而是更新:
vm.todos[0].name = 'New name'; vm.todos[0].description = 'New description';
或者,通過splice()方法,刪除某個元素后,再添加一個元素,達到“賦值”的效果:
var index = 0; var newElement = {...}; vm.todos.splice(index, 1, newElement);
Vue可以監聽數組的splice、push、unshift等方法調用,所以,上述代碼可以正確更新View。
相信看了本文案例你已經掌握了方法,更多精彩請關注Gxl網其它相關文章!
推薦閱讀:
Vue用下表修改數組時頁面不渲染如何處理
JS怎樣實現剔除全部的重復字符
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com