欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 【Vue3】ToRef 和 ToRefs

【Vue3】ToRef 和 ToRefs

2025/2/8 16:01:33 来源:https://blog.csdn.net/Silent_Paladin/article/details/140572956  浏览:    关键词:【Vue3】ToRef 和 ToRefs

【Vue3】ToRef 和 ToRefs

  • 背景
  • 简介
  • 开发环境
  • 开发步骤及源码

背景

随着年龄的增长,很多曾经烂熟于心的技术原理已被岁月摩擦得愈发模糊起来,技术出身的人总是很难放下一些执念,遂将这些知识整理成文,以纪念曾经努力学习奋斗的日子。本文内容并非完全原创,大多是参考其他文章资料整理所得,感谢每位技术人的开源精神。

简介

本文介绍 Vue3 中 ToRefToRefs 的用法。

toReftoRefs 用于将 reactive 定义的响应式数据对象中的属性转换成 ref 定义,既保留了属性的响应式行为,也保留了引用,即更新 ref 定义的响应式数据会同步更新其对应的 reactive 响应式数据对象中的原属性。其中 toRef 指定转换单个属性,toRefs 可以配合 JavaScript 解构赋值转换多个属性。

开发环境

分类名称版本
操作系统WindowsWindows 11
IDEVisual Studio Code1.91.1

开发步骤及源码

在 【Vue3】响应式数据 基础上修改 Vue 根组件 App.vue 代码。

<!-- 组件结构 -->
<template><div class="person"><h3>姓名:{{ name }}</h3><h3>Name:{{ nameX }}</h3><h3>生日:{{ birth.getFullYear() + '-' + (birth.getMonth() + 1) + "-" + birth.getDate() }}</h3><button @click="showContact">查看联系方式</button><button @click="changeName">修改名字</button></div>
</template><!-- 组件行为 -->
<script setup lang="ts" name="App">
import { reactive, toRef, toRefs } from 'vue'const person = reactive({name: '哈利·波特',birth: new Date('1980-07-31'),contact: '霍格沃茨魔法学校格兰芬多学院'
})const { name, birth } = toRefs(person)
const nameX = toRef(person, 'name')// 方法定义
function showContact() {alert(person.contact)
}function changeName() {nameX.value = 'Harry Potter'
}
</script><!-- 组件样式 -->
<style lang="scss">
.person {background-color: cadetblue;border-radius: 5px;color: white;padding: 20px;button {background-color: gold;border-radius: 5px;padding: 5px 10px;margin-right: 10px;}
}
</style>

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com