下面示例:同时复制一个基础类型和一个引用类型
<practice :title="滴滴滴"/>
<template>
<div class="two-three">
<div>练习页面</div>
<p>原始基础数据:{{ personData.age }}</p>
<p>原始引用数据:{{ personData.name.text }}</p>
<p class="pointer" @click="checkVal">点击是否页面刷新</p>
</div>
</template>
<script>
import { toRefs, toRef, ref } from "@vue/composition-api";
export default {
name: "practiceTwo",
props: {
title: {
type: String,
default: "",
setup(props) {
const personData = {
name: {
text: "滴滴滴",
age: 16,
const { name, age } = toRefs(personData);
function checkVal() {
age.value = 18;
name.value.text = "雪之下";
console.log(personData.age);
console.log(personData.name.text);
return { personData, name, checkVal };
</script>
点击前页面:红色部分,toRefs()需要一个反应对象,但收到一个普通对象。初步认为toRefs方法只适合props对象

点击后页面:红色部分,toRefs()需要一个反应对象,但收到一个普通对象。初步认为toRefs方法只适合props对象

结论:响应式数据为setup里面创建时,toRefs复制的数据不管为引用类型还是基础类型
① 修改toRefs复制的数据都会修改原始数据
② 修改toRefs复制的数据页面都不会实时刷新
(完)赶时间写出来的,有写错或者写不对的地方还望大家指出来,Thanks♪(・ω・)ノ