您当前的位置:首页 > 网站建设 > javascript
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery | 小程序 |

Vue3中的Refs和Ref详情

51自学网 2022-02-21 13:37:57
  javascript

小编同样和大家分享关于Vue3中的数据相应的问题,下面我们来例举一个这样的例子

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')

这个时候我们可能联想到了es6中关于解构赋值的内容,我们是不是可以将上面例子中的nameObj通过结果解构的方式获取内部的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')

在实际运行中,我们发现,页面上的内容并没有变成hanmeimei,这个时候,我们需要引入Vue3中的另外一个内容,我们应该把代码修改成这样,才能实现数据和页面的响应式

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内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


下载地址:
react 路由Link配置详解
详细聊聊浏览器是如何看闭包的
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。