Vue3中的Refs和Ref詳情
小編同樣和大家分享關于Vue3中的數(shù)據(jù)相應的問題,下面我們來例舉一個這樣的例子
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中關于解構賦值的內(nèi)容,我們是不是可以將上面例子中的nameObj通過結(jié)果解構的方式獲取內(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)容,我們應該把代碼修改成這樣,才能實現(xiàn)數(shù)據(jù)和頁面的響應式
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')
到此這篇關于Vue3中的Refs和Ref詳情的文章就介紹到這了,更多相關Vue3中的Refs和Ref內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue-cli 3.0 自定義vue.config.js文件,多頁構建的方法
今天小編就為大家分享一篇vue-cli 3.0 自定義vue.config.js文件,多頁構建的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09

