vue3中ref函数

117 阅读1分钟

「这是我参与2022首次更文挑战的第26天,活动详情查看:2022首次更文挑战」。


上一篇简单的和大家介绍了关于vue3.0的工程结构和setup函数,回顾一下setup函数他就是把我们之前写的结构给中和,把数据和函数都放在了setup函数里面。

在今天那我会给大家介绍一下关于vue3的ref函数他的作用是定义一个响应式的数据。vue2和vue3的ref的是不一样的,在vue2中ref的作用的打标示,而在vue3着就是多了ref函数;

ref函数在vue3中相当的主要想通过函数改数据就只能靠他了,如果你不用将不会实现,ref的使用会把数据变成一个refimpl的一个对象,我们需要先将ref引用import {ref} from 'vue' 语法就是:let name = ref('张三')。修改方式:name.value = '李四'。下面看我的代码演示:

演示

<template>
<div>
	<h1>一个人的信息</h1>
	<h2>姓名:{{name}}</h2>
	<h2>年龄:{{age}}</h2>
	<h3>工作种类:{{job.type}}</h3>
	<h3>工作薪水:{{job.salary}}</h3>
	<button @click="changeInfo">修改人的信息</button>
</div>
	
</template>

<script>
	import {ref} from 'vue'
	export default {
		name: 'App',
		setup(){
			//数据
			let name = ref('张三')
			let age = ref(18)
			let job = ref({
				type:'前端工程师',
				salary:'30K'
			})

			//方法
			function changeInfo(){
				// name.value = '李四'
				// age.value = 48
				console.log(job.value)
				// job.value.type = 'UI设计师'
				// job.value.salary = '60K'
				// console.log(name,age)
			}

			//返回一个对象(常用)
			return {
				name,
				age,
				job,
				changeInfo
			}
		}
	}
</script>


关于ref函数的总结

  • 作用: 定义一个响应式的数据
  • 语法: const xxx = ref(initValue)
    • 创建一个包含响应式数据的引用对象(reference对象,简称ref对象)
    • JS中操作数据: xxx.value
    • 模板中读取数据: 不需要.value,直接:<div>{{xxx}}</div>
  • 备注:
    • 接收的数据可以是:基本类型、也可以是对象类型。
    • 基本类型的数据:响应式依然是靠Object.defineProperty()getset完成的。
    • 对象类型的数据:内部 “ 求助 ” 了Vue3.0中的一个新函数—— reactive函数。