Vue中的$set方法是用于更新數(shù)組中的數(shù)據(jù),使其在監(jiān)聽器中正常響應(yīng)。在Vue中,我們可以將數(shù)據(jù)綁定到模板中,并且當(dāng)數(shù)據(jù)變化時,模板會根據(jù)變化自動更新。但是,當(dāng)我們直接改變數(shù)組中的某個元素時,Vue并不會監(jiān)聽到這個變化,也就無法自動更新模板。
在這種情況下,Vue提供了$set方法可以解決這個問題。$set方法的參數(shù)有三個,第一個參數(shù)是要更新的數(shù)組,第二個參數(shù)是要更新的元素的索引,第三個參數(shù)是要更新成的值。
Vue.set(vm.items, indexOfItem, newValue);
//或者
vm.$set(vm.items, indexOfItem, newValue);
上面的代碼中,vm.items是我們要更新的數(shù)組,indexOfItem是要更新的元素的索引,newValue是要更新成的新的值。我們可以使用Vue.set方法或者vm.$set方法來更新數(shù)組。這兩個方法在效果上是一樣的。
需要注意的是,如果我們要更新的元素的索引不存在,$set方法會自動添加這個元素。例如:
vm.$set(vm.items, 4, 'new item');
上面的代碼中,如果數(shù)組vm.items的長度小于等于4,$set方法會自動將'new item'添加到數(shù)組的最后。
使用$set方法能夠讓我們的數(shù)組在數(shù)據(jù)變化時能夠自動響應(yīng),從而刷新模板中的數(shù)據(jù),保證模板的數(shù)據(jù)和我們的數(shù)據(jù)保持同步。
上一篇python 嵩天視頻
下一篇mysql誤操作怎么回滾