VueJs中的ref函数

本文探讨了VueJs中ref函数的使用,如何将数据转换为响应式,并详细阐述了ref在处理基本类型和对象类型数据时的不同。总结中强调ref主要处理基本数据类型,使数据具备响应式能力,其对象有一个value属性用于追踪和监测。

前言

Vue2.0里面,与页面相关显示的数据是挂载在data下,而在vue3.0里,想要一个数据

具备响应式,那么需要引入响应式API函数,通过API函数加工处理后,才具备响应式,两者之间在底层实现数据的响应式上

也存在着差异

01

ref可将数据变成响应式

setup里面使用let定义的变量不是响应式的数据,它只是一个普通的字符串

数据虽然是可以修改,但是页面没有更新,Vue没有捕获到,如果想要定义的数据是响应式的,可以监测和捕获到,那么就需要从vue当中引用ref函数 变成一个引用实例对象(引用对象)

import { ref } from 'vue'

setup() {
    let name = ref("itclanCoder");
    let age = ref(20);
     
    // 在逻辑内部访问,需要使用xxx.value
    console.log(name.value,age.value); 
    return {
        name,
        age
    }
}

在模板里直接使用变量名就可以,但是更改数据时,却要使用xxx.value

02

ref函数-处理对象类型

ref处理对象数据类型时

let job = ref({
    type: 'frontend',
    salary: '25k'
})

console.log(job.value.type)
console.log(job.value.salary);

作用: 定义一个响应式的数据

语法: const xxx = ref(initValue)

创建一个包含响应式数据的引用对象,在JS中操作数据xxx.value,模板中读取数据,不需要xxx.value,直接是<div>{{xxx}}</div>

[1]. 接收的数据可以是:基本类型,也可以使对象类型

[2]. 基本类型的数据:响应式依然是靠(Object.defineProperty()getset完成的)

[3]. 对象类型的数据:内部借助了vue3的一个新函数reactive函数

1c9ae631cad972b0b5f7e98b0072b410.png

总结

ref函数主要处理基本数据类型数据,让它具备响应式数据的能力,该对象只有一个指向内部值的属性.value

可以被vue监测和追踪

5ec385e8b6fa85d2f595775f6523a1bd.png

VueJs中setup的使用(下)

2022-12-27

1193bcbe0028ae117158c85dfd05d84a.jpeg

VueJs中setup的使用(上)

2022-12-26

47e501389ab4287d41ba27f5132fbb06.jpeg

vuejs中组件的两种不同的编写风格-选项式API及组合式API

2022-12-25

6b382dbce8c023623cc0d2d0cc216460.jpeg

2022-忙碌的一年

2022-12-23

7a6b7e3487cb2aa613a5c5a626de3916.jpeg

JS 如何利用浏览器的 cookie 保存用户名

2022-11-09

f61c4790b2fad1819ef658306c13af4f.jpeg
点击左下角查看更多

66de66c4caaa1ff5b2dc40517ab7da94.gif

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值