首頁 > web前端 > js教程 > 主體

解決Vue 透過下表修改數組,頁面不渲染的問題

亚连
發布: 2018-05-31 16:38:29
原創
1833 人瀏覽過

下面我就為大家分享一篇解決Vue 透過下表修改陣列,頁面不渲染的問題。具有很好的參考價值,希望對大家有幫助。

要注意的是,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。

上面是我整理給大家的,希望今後對大家有幫助。

相關文章:

使用use註冊Vue全域元件和全域指令的方法

淺聊vue.js匯入css函式庫( elementUi)的方法

使用JS程式碼製作二維碼並且產生功能(詳細教學)

#

以上是解決Vue 透過下表修改數組,頁面不渲染的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板