set為解決Vue2中雙向數(shù)據(jù)綁定失效而生,所以只需要關(guān)注什么時(shí)候雙向數(shù)據(jù)綁定會(huì)失效,用上就可以了。
以下情況Vue的雙向綁定會(huì)失效(由于JavaScript的限制,Vue2不能檢測(cè)對(duì)象屬性的添加或刪除):
1、改變數(shù)組的長(zhǎng)度時(shí)
2、改變數(shù)組中的屬性時(shí)
3、通過(guò)索引值修改數(shù)組時(shí)
4、動(dòng)態(tài)給對(duì)象添加屬性時(shí)
凡是發(fā)現(xiàn)雙向綁定失效,則是可能Vue2無(wú)法監(jiān)聽(tīng)到,因此可以使用$set方法去綁定。
使用方法:
1.修改數(shù)組
this.$set(Array, index, newValue)
2.修改對(duì)象
this.$set(Object, key, value)