Vue3中的Refs和Ref详情


Posted in Vue.js onNovember 11, 2021

小编同样和大家分享关于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内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Vue.js 相关文章推荐
解决vue下载后台传过来的乱码流的问题
Dec 05 Vue.js
vue-router定义元信息meta操作
Dec 07 Vue.js
vue从后台渲染文章列表以及根据id跳转文章详情详解
Dec 14 Vue.js
vue实现购物车的小练习
Dec 21 Vue.js
vue导入.md文件的步骤(markdown转HTML)
Dec 31 Vue.js
如何在vue中使用HTML 5 拖放API
Jan 14 Vue.js
vue+echarts实现中国地图流动效果(步骤详解)
Jan 27 Vue.js
Vue基本指令实例图文讲解
Feb 25 Vue.js
vue实现无缝轮播效果(跑马灯)
May 14 Vue.js
Vue过滤器(filter)实现及应用场景详解
Jun 15 Vue.js
vue封装数字翻牌器
Apr 20 Vue.js
vue postcss-px2rem 自适应布局
May 15 Vue.js
详细聊聊vue中组件的props属性
一定要知道的 25 个 Vue 技巧
简单聊聊Vue中的计算属性和属性侦听
Oct 05 #Vue.js
SSM VUE Axios详解
vue使用Google Recaptcha验证的实现示例
Vue鼠标滚轮滚动切换路由效果的实现方法
Aug 04 #Vue.js
Vue3.0 手写放大镜效果
You might like
PHP curl模拟浏览器采集阿里巴巴的实现代码
2011/04/20 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
JavaScript 学习笔记一些小技巧
2010/03/28 Javascript
Jquery上传插件 uploadify v3.1使用说明
2012/06/18 Javascript
JS获取子窗口中返回的数据实现方法
2016/05/28 Javascript
JavaScript 继承详解(五)
2016/10/11 Javascript
JS判断非空至少输入两个字符的简单实现方法
2017/06/23 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
2018/08/01 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
jquery实现垂直手风琴导航栏
2020/02/18 jQuery
tracking.js实现前端人脸识别功能
2020/04/16 Javascript
[02:07]2018DOTA2亚洲邀请赛主赛事第三日五佳镜头 fy极限反杀
2018/04/06 DOTA
Python实现的简单万年历例子分享
2014/04/25 Python
Python3 中把txt数据文件读入到矩阵中的方法
2018/04/27 Python
儿童编程python入门
2018/05/08 Python
在Django下测试与调试REST API的方法详解
2019/08/29 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
2019/09/23 Python
python将字母转化为数字实例方法
2019/10/04 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
python如何实现word批量转HTML
2020/09/30 Python
HTML5 Canvas基本线条绘制的实例教程
2016/03/17 HTML / CSS
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
Sunglasses Shop德国站:欧洲排名第一的太阳镜网站
2017/08/01 全球购物
出门问问全球官方商城:Tichome音箱和TicWatch智能手表
2017/12/02 全球购物
卡骆驰德国官方网站:Crocs德国
2019/03/29 全球购物
英国女性化妆品收纳和家具网站:Beautify
2019/12/07 全球购物
医药类个人求职的自我评价
2014/02/12 职场文书
安全标语大全
2014/06/10 职场文书
电气工程及其自动化专业毕业生自荐信
2014/06/21 职场文书
校长师德师风自我剖析材料
2014/09/29 职场文书
团员年度个人总结
2015/02/26 职场文书
毕业实习感受与体会
2015/05/26 职场文书
帝企鹅日记观后感
2015/06/10 职场文书
小学英语教学随笔
2015/08/14 职场文书
python 自动化偷懒的四个实用操作
2021/04/11 Python
php去除deprecated的实例方法
2021/11/17 PHP