什麼原因導致,在vue js 要用 this.$set 或 this.$forceUpdate() 才能正常顯示?

在Vue.js中,資料響應式是透過偵測資料物件的變化來觸發的。在JavaScript中,當一個物件被建立後,可以動態地新增或刪除屬性。但是,這種屬性變化在Vue.js中是不會被偵測到的。

這就是為什麼在Vue.js中,如果需要對資料進行動態新增或刪除屬性時,需要使用Vue.set或this.$set方法來觸發資料響應式,從而使元件重新渲染。同樣地,如果更改資料但是沒有觸發響應式更新,可以使用this.$forceUpdate()手動強制更新視圖。