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