Vue3中的Refs和Ref詳情
小編同樣和大家分享關(guān)于Vue3中的數(shù)據(jù)相應(yīng)的問題,下面我們來例舉一個這樣的例子
Vue.createApp({ template: `<div>{{ nameObj.name }}</div>`, setup() { const { reactive } = Vue const nameObj = reactive({name:'lilei',age:18}) setTimeout(() => { nameObj.name = 'hanmeimei' },2000) return { nameObj } } }).mount('#root')
這個時候我們可能聯(lián)想到了es6
中關(guān)于解構(gòu)賦值的內(nèi)容,我們是不是可以將上面例子中的nameObj
通過結(jié)果解構(gòu)的方式獲取內(nèi)部的name
,然后直接將name
返回呢?也就是將代碼寫成這樣
Vue.createApp({ template: `<div>{{ name }}</div>`, setup() { const { reactive,toRefs } = Vue const nameObj = reactive({name:'lilei',age:18}) let { name } = nameObj setTimeout(() => { name.value = 'hanmeimei' },2000) return { name } } }).mount('#root')
在實際運行中,我們發(fā)現(xiàn),頁面上的內(nèi)容并沒有變成hanmeimei
,這個時候,我們需要引入Vue3
中的另外一個內(nèi)容,我們應(yīng)該把代碼修改成這樣,才能實現(xiàn)數(shù)據(jù)和頁面的響應(yīng)式
Vue.createApp({ template: `<div>{{ name }}</div>`, setup() { const { reactive,toRefs } = Vue const nameObj = reactive({name:'lilei',age:18}) let { name } = toRefs(nameObj) setTimeout(() => { name.value = 'hanmeimei' },2000) return { name } } }).mount('#root')
同樣,和toRefs
很類似的還有toRef
,代碼實例是這樣的
Vue.createApp({ template: `<div>{{ age }}</div>`, setup() { const { reactive,toRef } = Vue const nameObj = reactive({name:'lilei'}) let age = toRef(nameObj,'age') setTimeout(() => { age.value = 'hanmeimei' },2000) return { age } } }).mount('#root')
到此這篇關(guān)于Vue3中的Refs和Ref詳情的文章就介紹到這了,更多相關(guān)Vue3中的Refs和Ref內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue-cli 3.0 自定義vue.config.js文件,多頁構(gòu)建的方法
今天小編就為大家分享一篇vue-cli 3.0 自定義vue.config.js文件,多頁構(gòu)建的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09Vue項目實現(xiàn)簡單的權(quán)限控制管理功能
這篇文章主要介紹了Vue項目實現(xiàn)簡單的權(quán)限控制功能,文中給大家介紹了兩種方式進行權(quán)限限制,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2019-07-07