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 tags 创建缓存导航的过程实现
Dec 03 Vue.js
Vue实现简单购物车功能
Dec 13 Vue.js
vue监听滚动事件的方法
Dec 21 Vue.js
梳理一下vue中的生命周期
Dec 30 Vue.js
vue 动态生成拓扑图的示例
Jan 03 Vue.js
Vue中的nextTick作用和几个简单的使用场景
Jan 25 Vue.js
Vue 3自定义指令开发的相关总结
Jan 29 Vue.js
如何使用RoughViz可视化Vue.js中的草绘图表
Jan 30 Vue.js
vue实现可移动的悬浮按钮
Mar 04 Vue.js
vue Element-ui表格实现树形结构表格
Jun 07 Vue.js
vue使用localStorage持久性存储实现评论列表
Apr 14 Vue.js
vue组件vue-esign实现电子签名
Apr 21 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
一个好用的分页函数
2006/11/16 PHP
php checkbox复选框值的获取与checkbox默认值输出方法
2010/05/15 PHP
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
yii,CI,yaf框架+smarty模板使用方法
2015/12/29 PHP
javascript vvorld 在线加密破解方法
2008/11/13 Javascript
jquery分页插件jpaginate在IE中不兼容问题
2014/04/22 Javascript
iframe如何动态创建及释放其所占内存
2014/09/03 Javascript
详解jquery中$.ajax方法提交表单
2014/11/03 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
JS使用正则实现去掉字符串左右空格的方法
2016/12/27 Javascript
微信小程序框架wepy之动态控制类名
2018/09/14 Javascript
three.js搭建室内场景教程
2018/12/30 Javascript
小程序测试后台服务的方法(ngrok)
2019/03/08 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
vue-cli3访问public文件夹静态资源报错的解决方式
2020/09/02 Javascript
Python 文件操作实现代码
2009/10/07 Python
Python实现全局变量的两个解决方法
2014/07/03 Python
跟老齐学Python之print详解
2014/09/28 Python
django 常用orm操作详解
2017/09/13 Python
python使用turtle库与random库绘制雪花
2018/06/22 Python
Python unittest工作原理和使用过程解析
2020/02/24 Python
python logging模块的使用详解
2020/10/23 Python
使用css3匹配手机屏幕横竖状态
2014/01/27 HTML / CSS
中国宠物用品商城:E宠商城
2016/08/27 全球购物
Marlies Dekkers内衣美国官方网上商店:高端内衣品牌
2018/11/12 全球购物
牦牛毛户外探险服装:Kora
2019/02/08 全球购物
佳能法国商店:Canon法国
2019/02/14 全球购物
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
检察官就职演讲稿
2014/01/13 职场文书
禁烟标语大全
2014/06/11 职场文书
高中运动会广播稿
2014/09/16 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
会计工作岗位职责
2015/02/03 职场文书
工会工作个人总结
2015/03/03 职场文书