[Vue] 資料響應問題


本篇為《[那些關於 Vue 的小細節 ] 為什麼畫面沒有隨資料更新 – Vue 響應式原理(Reactivity)的統整,請去查看原文章。

使用 Vue 一段時間,遇到複雜的資料格式,經常會有「畫面怎麼沒有更新」的問題,尤其是物件和陣列特別常遇到,以下節錄各個情況的解決方案。


物件部分:一開始沒有被註冊到的屬性不會響應式更新

  • 方法一:在 data 中要把所有需要響應式的資料設定進去。
  • 方法二:使用 vm.$set() 動態添加新的響應式屬性。
  • 方法三:透過 Object.assign() 建立新的物件。

陣列部分:利用陣列索引直接設值時

以陣列索引值的方式修改資料內容時,Vue 無法監測到。

  • 方法一:使用 Vue 可觀察到的陣列方法。
    在 Vue 中包含一組可以觀察陣列的方法,而這些方法將能促使畫面重新渲染。這些方法包含:push()pop()shift()unshift()splice()sort()reverse()
  • 方法二:使用 vm.$set() 動態添加新的資料。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *