当前位置:网站首页>toRaw和markRaw
toRaw和markRaw
2022-07-07 11:29:00 【湛海不过深蓝】
toRaw 将一个reactive生成的响应式对象转为普通对象
markRaw 标记一个对象,使其永远不会再成为响应式对象
vue3中,用ref、reactive定义数据,是为了把普通数据,变成响应式数据
某些时候,需要将响应式数据,再变成普通数据,此时就用toRaw
<script lang="ts" setup>
import {
ref, reactive, toRaw, markRaw } from 'vue'
const person = reactive({
name: '哈哈',
age: 10,
job: {
salary: 20
}
})
console.log(person) // proxy 响应式数据
const p = toRaw(person)
console.log(p) // object 普通数据
const sum = ref(0)
const s = toRaw(sum)
console.log(s) // undefined 因为toRaw只能处理reactive所定义的响应式数据
</script>
setup 在整个工作过程中,只调用一次;
当需要在已经定义好的reactive数据里面在添加一个属性时,这个属性也会变成响应式的,可是如果我添加时就不想让他变成响应式的,用markRaw
<script lang="ts" setup>
import {
ref, reactive, toRaw, markRaw } from 'vue'
const person = reactive({
name: '哈哈',
age: 10,
job: {
salary: 20
}
})
let car = {
name: '汽车', price: 40 }
person.car = markRaw(car) // 此时,person里面添加的car就是普通数据
</script>
边栏推荐
猜你喜欢
ESP32构解工程添加组件
[Presto profile series] timeline use
Centso7 OpenSSL error Verify return code: 20 (unable to get local issuer certificate)
Milkdown control icon
LIS longest ascending subsequence problem (dynamic programming, greed + dichotomy)
xshell连接服务器把密钥登陆改为密码登陆
centso7 openssl 报错Verify return code: 20 (unable to get local issuer certificate)
error LNK2019: 无法解析的外部符号
High end for 8 years, how is Yadi now?
详细介绍六种开源协议(程序员须知)
随机推荐
php——laravel缓存cache
Vscode编辑器ESP32头文件波浪线不跳转彻底解决
MongoDB的用户管理总结
ROS机器人更换新雷达需要重新配置哪些参数
PAcP learning note 1: programming with pcap
Problems that cannot be accessed in MySQL LAN
Awk of three swordsmen in text processing
Some principles of mongodb optimization
ESP32系列专栏
QQ medicine, Tencent ticket
LIS longest ascending subsequence problem (dynamic programming, greed + dichotomy)
Cinnamon Applet 入门
Pay close attention to the work of safety production and make every effort to ensure the safety of people's lives and property
Realbasicvsr test pictures and videos
Cinnamon taskbar speed
日本政企员工喝醉丢失46万信息U盘,公开道歉又透露密码规则
靠卖概念上市,认养一头牛能走多远?
MongoDB内部的存储原理
Storage principle inside mongodb
[Presto profile series] timeline use