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 07 Vue.js
vue使用element-ui实现表单验证
Dec 13 Vue.js
vue的hash值原理也是table切换实例代码
Dec 14 Vue.js
详解Vue的异步更新实现原理
Dec 22 Vue.js
vue编写简单的购物车功能
Jan 08 Vue.js
vue keep-alive的简单总结
Jan 25 Vue.js
Vue项目打包部署到apache服务器的方法步骤
Feb 01 Vue.js
Vue SPA 首屏优化方案
Feb 26 Vue.js
详细聊聊vue中组件的props属性
Nov 02 Vue.js
vue实现列表拖拽排序的示例代码
Apr 08 Vue.js
vue自定义右键菜单之全局实现
Apr 09 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
咖啡的传说和历史
2021/03/03 新手入门
php显示时间常用方法小结
2015/06/05 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
2016/05/20 PHP
PHP单例模式应用示例【多次连接数据库只实例化一次】
2018/12/18 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
什么是JavaScript
2009/08/13 Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
Javascript图像处理—为矩阵添加常用方法
2012/12/27 Javascript
纯js代码实现未知宽高的元素在指定元素中垂直水平居中显示
2015/09/12 Javascript
在Html中使用Requirejs进行模块化开发实例详解
2016/04/15 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
JS+DIV实现的卷帘效果示例
2017/03/22 Javascript
layui表格数据重载
2019/07/27 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
vue使用map代替Aarry数组循环遍历的方法
2020/04/30 Javascript
JS实现鼠标按下拖拽效果
2020/07/23 Javascript
js实现圆形菜单选择器
2020/12/03 Javascript
python difflib模块示例讲解
2017/09/13 Python
Python实现PS滤镜功能之波浪特效示例
2018/01/26 Python
python通过百度地图API获取某地址的经纬度详解
2018/01/28 Python
python3中函数参数的四种简单用法
2018/07/09 Python
一款恶搞头像特效的制作过程 利用css3和jquery
2014/11/21 HTML / CSS
英国在线药房和在线药剂师:Chemist 4 U
2020/01/05 全球购物
PHP笔试题
2012/02/22 面试题
优秀实习自我鉴定
2013/12/04 职场文书
五一服装活动方案
2014/01/11 职场文书
销售员岗位职责范本
2014/02/03 职场文书
旷工检讨书1000字
2015/01/01 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
亮剑精神观后感
2015/06/05 职场文书
文艺演出主持词
2015/07/01 职场文书
导游词之淮安明祖陵
2019/11/25 职场文书
企业内部管理控制:银行存款控制制度范本
2020/01/10 职场文书
Python基础详解之描述符
2021/04/28 Python