1. 程式人生 > >問題:Vue.set更新檢視的問題及Vue.set和vm.$set的區別

問題:Vue.set更新檢視的問題及Vue.set和vm.$set的區別

在vue中動態新增屬性並更新dom時碰到了如下問題。
和下面這篇部落格碰到的問題一摸一樣。

傳送門
都是第一次Vue.set有效,之後再變動set新增的屬性的值時無效。
用評論中的方法–vm.$set替代Vue.set後就一切正常了。

本著刨根問底的態度去查這兩個方式的區別。

官方文件
官方文件裡翻來找去,總結:vm.$set不過時Vue.set的別名。
可是效果明顯不一樣啊。。。
然後在StackOverflow上找到一個問答
傳送門
由於對vue和整個前端這塊的知識匱乏。整個看得似懂非懂。

So, .$set used to
be available on all objects - it is now only available on a View Model itself. Vue.set is therefore used in those cases now when you have a reference to a reactive object but do not have a reference to the View Model it belongs to.
我理解的大致意思:Vue.set不會作用到dom更新,而vm.$set可以。