欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue $set用不

錢淋西1年前7瀏覽0評論

$set是Vue.js的核心API之一,用于在Vue實例中添加屬性。但是,在某些情況下,我們不需要使用$set,這篇文章將解釋為什么。

當(dāng)我們想要更改Vue實例的屬性時,可以使用Vue.set或vm.$set方法。這是非常方便的。然而,當(dāng)我們要在一個數(shù)組中更改某個對象的屬性時,有時候會發(fā)現(xiàn)這些$set方法并不適用。

let vm = new Vue({
data: {
items: [{name: 'Tom', age: 24}, {name: 'Jerry', age: 22}]
}
})
vm.$set(vm.items[1], 'age', 23) // 修改Jerry的年齡為23
// 正常情況下,上面的代碼是可以生效的。但是,如果我們需要修改的是第一個對象呢?
vm.$set(vm.items[0], 'age', 25) // 代碼無效
// 上面的代碼并沒有生效,如果我們需要修改數(shù)據(jù)中的某一項,我們可以采取下面的方法
vm.items[0].age = 25 // 可以生效

為什么會出現(xiàn)這種情況呢?因為Vue.js會觀察數(shù)組中每個對象的變化,但是它不會觀察對象的屬性變化。所以,當(dāng)我們嘗試使用$set來更改屬性時,Vue.js無法檢測到變化。

當(dāng)我們要修改數(shù)組中的元素時,我們應(yīng)該使用常規(guī)賦值而不是$set方法。這樣可以確保我們的代碼能夠生效,同時也可以提高代碼的可讀性。

綜上所述,當(dāng)我們修改數(shù)組中對象的屬性時,建議使用常規(guī)賦值而不是$set方法。這樣我們就可以避免潛在的bug,并提高代碼的可讀性。