Vue3中的ref函数,代码模版
前言
vue2中我们只要是写在data中的数据就能成为一个响应式的数据,但为什么vue3定义响应式数据要这么难呢?
什么是 ref()
ref函数的作用:创建一个包含响应式数据的引用对象(reference obj)
<script>
import {ref} from 'vue'
export default {
name: 'Person',
setup(){
let name = ref('Ulrich')
let job = ref({jobName : 'front-end engineer'})
return {
name,
job
}
}
}
</script>
1?? ref() 函数接收的数据可以是基本类型,也可以是对象类型
2?? 基本类型的数据,响应式依旧靠Object.defineProperty() 的get 和set 完成的
3?? 对象类型的数据:内部实现是依靠reactive 函数
如何在<template></template> 中读取响应式数据?
<template>
<h3>{{name}}</h3>
<h3>{{job.jobName}}</h3>
</template>
output / 输出结果:
如何在JS中操作ref函数包裹的响应式数据
需要通过xxx.value 的形式来修改响应式数据:
let change = function(){
name.value = 'Vichien'
job.value.jobName = 'back-end engineer'
}
继续学习
Vue3 reactive函数的使用。reactive()对比ref()的优点
|