vue3-04vue3中ref函数(定义一个响应式的数据)
- 开源代码
- 2025-08-31 21:42:02

1.前言
作用: 定义一个响应式的数据
语法: const xxx = ref(initValue)
。创建一个包含响应式数据的引用对象 (reference对象,简称ref对象) 。JS中操作数据: xxx .value 。模板中读取数据: 不需要.value,直接: <div>{xxx]}</div>
备注: 。接收的数据可以是: 基本类型、也可以是对象类型 。基本类型的数据: 响应式依然是靠 object.defineProperty()的 get 与set 完成的。 。对象类型的数据:内部“求助”了Vue3.0中的一个新函数- reactive 函数
2.例子 2.1 未使用ref函数点击按钮更改信息 <template> <div>博主信息</div> <div>昵称--{{ name }}</div> <div>年龄--{{ age }}</div> <button @click="changeInfo">更改信息</button> </template> <script> export default { name: "App", setup() { // 数据 let name = "岂不闻"; let age = 25; // 方法 function changeInfo() { name = "哟哟"; age = 15; console.log("更改", name, age); } return { name, age, changeInfo, }; }, }; </script> <style> </style>未双向绑定渲染
2.2 使用ref使用get与set进行响应式处理(数据劫持)
2.2.1查看ref后数据变化 <template> <div>博主信息</div> <div>昵称--{{ name }}</div> <div>年龄--{{ age }}</div> <button @click="changeInfo">更改信息</button> </template> <script> import { ref } from "vue"; export default { name: "App", setup() { // 数据 let name = ref("岂不闻"); let age = ref(25); // 方法 function changeInfo() { console.log("更改", name, age); } return { name, age, changeInfo, }; }, }; </script> <style> </style>引入实例对象
2.2.2读取ref后的数据 2.2.2.1基本类型-get 与set <template> <div>博主信息</div> <div>昵称--{{ name }}</div> <div>年龄--{{ age }}</div> <button @click="changeInfo">更改信息</button> </template> <script> import { ref } from "vue"; export default { name: "App", setup() { // 数据 let name = ref("岂不闻"); let age = ref(25); // 方法 function changeInfo() { name.value = "哟哟"; age.value = 15; console.log("更改", name, age); } return { name, age, changeInfo, }; }, }; </script> <style> </style>更改成功
2.2.2.2对象数据-proxy代理对象封装在vue3中的reactive函数中在模板中无需.value
<template> <div>工作-{{ job.type }}--工龄{{ job.workYear }}</div> </template> <script> import { ref } from "vue"; export default { name: "App", setup() { // 对象 let job = ref({ type: "前端开发", workYear: "10年", }); return { job, }; }, }; </script> <style> </style>修改对象中的属性,第一层.value
<template> <div>博主信息</div> <div>工作-{{ job.type }}--工龄{{ job.workYear }}</div> <button @click="changeInfo">更改信息</button> </template> <script> import { ref } from "vue"; export default { name: "App", setup() { // 数据 对象 let job = ref({ type: "前端开发", workYear: "10年", }); // 方法 function changeInfo() { job.value.type = "java开发"; job.value.workYear = "6年"; console.log("更改", job.type, job.workYear); } return { job, changeInfo, }; }, }; </script> <style> </style>vue3-04vue3中ref函数(定义一个响应式的数据)由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“vue3-04vue3中ref函数(定义一个响应式的数据)”
上一篇
WordEmbeddings
下一篇
设计模式14:职责链模式