vue3中的this.$set寫法舉例
vue3中的this.$set怎么寫呢?
在vue2中我們常常會遇到明明已經(jīng)改變了數(shù)據(jù)視圖卻沒有實時更新這樣的問題
舉例
<el-input v-model="input.text" placeholder="請輸入內(nèi)容"></el-input>
data() {
return{
input:{
text:'1'
}
}
}
mounted () {
this.input.text = '2'; // 視圖層并沒有改變
}這時vue2就提供了一個方法就是$set
this.$set(this.input, 'text', '3');
原因就是 Vue2 中的數(shù)據(jù)響應式是利用 object.definedProperty()實現(xiàn)的,它是無法深層監(jiān)聽數(shù)據(jù)的變化的。
而Vue3,用的是ES6的proxy,對數(shù)據(jù)響應式進行一個數(shù)據(jù)的代理。這個就厲害了啊,結合Vue3的 composition API。
- Vue3 中的 reactivity API:
- reactive
- readonly
- ref
- computed
- 如果想要讓一個對象變?yōu)轫憫綌?shù)據(jù),可以使用reactive或ref
setup() {
const state = reactive({
input:{
text:"1"
}
});
return {
state // 導出響應式數(shù)組
}
},
mounted() {
console.log(state); // 是一個proxy
state.input.text = '2'; // 視圖更新
}Vue3中廢棄了$set的概念
到此這篇關于vue3中的this.$set怎么寫呢?的文章就介紹到這了,更多相關vue3 this.$set內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Vue在chrome44偶現(xiàn)點擊子元素事件無法冒泡的解決方法
這篇文章主要給大家介紹了關于Vue在chrome44偶現(xiàn)點擊子元素事件無法冒泡的解決方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Vue具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-12-12
antd Select下拉菜單動態(tài)添加option里的內(nèi)容操作
這篇文章主要介紹了antd Select下拉菜單動態(tài)添加option里的內(nèi)容操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
vue腳手架創(chuàng)建項目時報catch錯誤及解決
這篇文章主要介紹了vue腳手架創(chuàng)建項目時報catch錯誤及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01

