这篇文章主要讲解了“Vue3中toRef与toRefs的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue3中toRef与toRefs的区别是什么”吧!
作用:创建一个ref对象,其value值指向另外一个对象中的某个属性。这样在模板中就可以直接使用属性名而不用麻烦的再加对象名前缀了。
语法:
const name = toRef(person,'name')
应用:要将响应式对象中的某个属性单独提供给外部使用时。
扩展:toRefs
与toRef
功能一致,但可以批量创建多个ref对象,需要注意的是它只会解析对象的第一层属性,语法直接传入对象 toRefs
(person)
示例:
toRef
<template> <span>{{person}}</span> <h3>姓名:{{name}}</h3> <h3>年龄:{{age}}</h3> <h3>薪资:{{salary}}K</h3> <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') } } }</script>
在线浏览效果:
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) } } }</script>
浏览器效果图:
感谢各位的阅读,以上就是“Vue3中toRef与toRefs的区别是什么”的内容了,经过本文的学习后,相信大家对Vue3中toRef与toRefs的区别是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!