在 Vue2 中, ref 可以简单理解为 原生js 中 标签id=”***“ 用法的替代者。但是在 Vue3 中 ref 在原来基础上增加了 ref() 函数的功能。
源码
App.vue
<template>
<h1>一个人的信息</h1>
<!-- 模板中,不需要使用.value 取其属性值 -->
<h2>姓名:{{name}}</h2>
<h2>年龄:{{age}}</h2>
<h3>工作种类:{{job.type}}</h3>
<h3>工作薪水:{{job.salary}}</h3>
<button @click="changeInfo">修改人的信息</button>
</template>
<script>
//引入 ref()
import {ref} from 'vue'
export default {
name: 'App',
setup(){
//此处定义,不是 响应式数据
//let name = '张三'
//let age = 18
//如果想定义为响应式数据,需要借助 ref()函数 将其变为 可以被 Vue 监测到的 响应式数据。
//数据
let name = ref('张三')
let age = ref(18)
let job = ref({
type:'前端工程师',
salary:'30K'
})
//方法
function changeInfo(){
//通过此处可以看到上面通过 ref() 加工后的 name 是一个对象。
// RefImpl = Reference(引用) Implement(实现)
// 记住: 通过 ref() 加工后的对象叫: 引用实现的实例对象(简称:引用对象)!
console.log(name)
//Vue3 操作属性,需要使用 .value 。因为此时的 name 是一个引用对象。
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>
