Vue3中toRef与toRefs的区别


Posted in Vue.js onMarch 24, 2022

作用:创建一个ref对象,其value值指向另外一个对象中的某个属性。这样在模板中就可以直接使用属性名而不用麻烦的再加对象名前缀了。

语法:

const name = toRef(person,'name')

应用:要将响应式对象中的某个属性单独提供给外部使用时。

扩展:toRefstoRef功能一致,但可以批量创建多个ref对象,需要注意的是它只会解析对象的第一层属性,语法直接传入对象 toRefs(person)

示例:

toRef

<template>
  <span>{{person}}</span>
  <h2>姓名:{{name}}</h2>
  <h2>年龄:{{age}}</h2>
  <h2>薪资:{{salary}}K</h2>
  <button @click="name+='~'">修改姓名</button>
  <button @click="age++">增涨年龄</button>
  <button @click="salary++">涨薪</button>
</template>
<script>
    import {reactive,toRef,toRefs} from 'vue'
    export default{
        name:'App',
        setup(){
            let person = reactive({
                name:'张三',
                age:18,
                job:{
                    j1:{
                        salary:20
                    }
                }
            })
            return {
                person,   //如果只是像之前一样定义reactive后 模板中需要使用属性都要加上对象名(person.name)
                name:toRef(person,'name'), 
                age:toRef(person,'age'),
                salary:toRef(person.job.j1,'salary')
                /*
                但有了toRef后就可以在return中定义数据名称,使用toRef转换为ref的响应式基本数据,
                在模板中就不用再繁琐的加对象名,并且是双向绑定,模板中的修改也会影响到原对象
                */
            }
        }
    }
</script>

在线浏览效果:

Vue3中toRef与toRefs的区别

toRefs 

<script>
    import {reactive,toRef,toRefs} from 'vue'
    export default{
        name:'App',
        setup(){
            let person = reactive({
                name:'张三',
                age:18,
                job:{
                    j1:{
                        salary:20
                    }
                }
            })
            
            return {
                person,
                  ...toRefs(person) 
                /*
                toRefs会将对象第一层的属性都转换为ref基本类型所以用到ES6的语法将这些基本类型都展开来
                注意!!toRefs只会将第一层转换为ref基本类型 
                */
            }
        }
    }
</script>

浏览器效果图:

Vue3中toRef与toRefs的区别

到此这篇关于Vue3中toRef与toRefs的区别的文章就介绍到这了,更多相关toRef与toRefs内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Vue.js 相关文章推荐
Vue实现购物小球抛物线的方法实例
Nov 22 Vue.js
vue组件中节流函数的失效的原因和解决方法
Dec 02 Vue.js
如何实现vue的tree组件
Dec 03 Vue.js
Vue解决移动端弹窗滚动穿透问题
Dec 15 Vue.js
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
Feb 20 Vue.js
vue 动态添加的路由页面刷新时失效的原因及解决方案
Feb 26 Vue.js
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 Vue.js
vue中data改变后让视图同步更新的方法
Mar 29 Vue.js
Vue项目打包、合并及压缩优化网页响应速度
Jul 07 Vue.js
Element-ui Layout布局(Row和Col组件)的实现
Dec 06 Vue.js
vue3获取当前路由地址
Feb 18 Vue.js
vue/cli 配置动态代理无需重启服务的方法
May 20 Vue.js
一起来看看Vue的核心原理剖析
Mar 24 #Vue.js
深入讲解Vue中父子组件通信与事件触发
Mar 22 #Vue.js
关于Vue中的options选项
Mar 22 #Vue.js
vue+echarts实现多条折线图
vue使用echarts实现折线图
浅谈Vue的computed计算属性
VUE中的v-if与v-show区别介绍
Mar 13 #Vue.js
You might like
php Undefined index和Undefined variable的解决方法
2008/03/27 PHP
php 静态变量的初始化
2009/11/15 PHP
PHP错误WARNING: SESSION_START() [FUNCTION.SESSION-START]解决方法
2014/05/04 PHP
PHP处理大量表单字段的便捷方法
2015/02/07 PHP
thinkPHP5.0框架模块设计详解
2017/03/18 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
jQuery操作动态生成的内容的方法
2016/05/28 Javascript
js基于setTimeout与setInterval实现多线程
2016/06/17 Javascript
漂亮! js实现颜色渐变效果
2016/08/12 Javascript
jQuery使用getJSON方法获取json数据完整示例
2016/09/13 Javascript
Vue系列:通过vue-router如何传递参数示例
2017/01/16 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
jQuery Jsonp跨域模拟搜索引擎
2017/06/17 jQuery
原生实现一个react-redux的代码示例
2018/06/08 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
JQuery中的常用事件、对象属性与使用方法分析
2019/12/23 jQuery
微信小程序实现搜索功能
2020/03/10 Javascript
vue v-on:click传递动态参数的步骤
2020/09/11 Javascript
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
Python入门教程之运算符与控制流
2016/08/17 Python
使用DataFrame删除行和列的实例讲解
2018/04/08 Python
Python运行不显示DOS窗口的解决方法
2018/10/22 Python
使用Python实现从各个子文件夹中复制指定文件的方法
2018/10/25 Python
python列表使用实现名字管理系统
2019/01/30 Python
Python数据分析pandas模块用法实例详解
2019/11/20 Python
Tensorflow 实现分批量读取数据
2020/01/04 Python
Python第三方包PrettyTable安装及用法解析
2020/07/08 Python
Urban Outfitters德国官网:美国跨国生活方式零售公司
2018/05/21 全球购物
美国在线艺术商店:HandmadePiece
2020/11/06 全球购物
Java中的异常处理机制的简单原理和应用
2013/04/27 面试题
策划助理岗位职责
2013/11/18 职场文书
聘用意向书范本
2014/04/01 职场文书
超市七夕促销活动方案
2014/08/28 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书
中国现代文学之经典散文三篇
2019/09/18 职场文书