当前位置: 首页 > wzjs >正文

整站优化服务宁德seo公司

整站优化服务,宁德seo公司,做网站编程,织梦网站修改使用教程在 Vue 3 中,当你执行以下操作时: javascript const applyBasicInfo ref(); applyBasicInfo.value { ...props.applyBasicInfo }; 最终的 applyBasicInfo.value 是响应式对象,但与原对象 props.applyBasicInfo 的响应性完全独立&#xf…

在 Vue 3 中,当你执行以下操作时:

javascript

const applyBasicInfo = ref();
applyBasicInfo.value = { ...props.applyBasicInfo };

最终的 applyBasicInfo.value 是响应式对象,但与原对象 props.applyBasicInfo 的响应性完全独立,且解构过程本身会丢失原对象的响应性连接


关键分析

1. 解构操作 { ...props.applyBasicInfo } 的行为
  • 这会创建一个全新的普通对象,属性值会被复制到新对象中。

  • 如果 props.applyBasicInfo 是响应式对象(如 reactive 生成),其属性的响应性会丢失(解构后的值是原始值,而非响应式引用)。

2. 赋值给 ref 的行为
  • 当你将普通对象赋值给 ref.value 时,Vue 会自动用 reactive() 包裹它,使其成为响应式对象。

  • 因此,applyBasicInfo.value 最终会是一个独立的响应式对象,但与原对象 props.applyBasicInfo 无关联。


示例验证

javascript

import { reactive, ref, isReactive } from 'vue';// 原对象是响应式的
const props = reactive({applyBasicInfo: { name: 'John', age: 25 }
});// 创建 ref
const applyBasicInfo = ref();// 解构并赋值
applyBasicInfo.value = { ...props.applyBasicInfo };// 验证结果
console.log(isReactive(applyBasicInfo.value)); // 输出: true ✅
console.log(applyBasicInfo.value === props.applyBasicInfo); // 输出: false ❌

结果总结

操作结果响应性与原对象关联性
{ ...props.applyBasicInfo }创建新普通对象❌ 丢失原响应性无关联
applyBasicInfo.value = 新对象Vue 自动用 reactive() 包裹✅ 新对象独立响应式无关联

需要注意的陷阱

  1. 响应性独立
    修改 applyBasicInfo.value 的属性会触发响应式更新,但不会影响原对象 props.applyBasicInfo,反之亦然。

  2. 解构的响应性丢失
    如果 props.applyBasicInfo 的某些属性是响应式引用(如 ref),解构会直接获取其值(例如 ref.value),导致响应性丢失。例如:

    javascript

    props.applyBasicInfo = reactive({ count: ref(0) });
    applyBasicInfo.value = { ...props.applyBasicInfo };
    // applyBasicInfo.value.count 是 0(普通值,非响应式)

如何保持与原对象的响应性连接?

方案 1:直接引用原对象

javascript

// ✅ 直接使用原响应式对象
applyBasicInfo.value = props.applyBasicInfo;
方案 2:深拷贝为响应式对象(独立响应性)

javascript

import { reactive } from 'vue';// ✅ 深拷贝并保持独立响应性
applyBasicInfo.value = reactive({ ...props.applyBasicInfo });
方案 3:使用 toRef 保持响应性连接

javascript

import { toRef } from 'vue';// ✅ 将原对象的属性转为响应式引用
applyBasicInfo.value = {name: toRef(props.applyBasicInfo, 'name'),age: toRef(props.applyBasicInfo, 'age')
};

核心结论

  • 解构会丢失响应性,但赋值给 ref 时会自动转为响应式对象。

  • 新旧对象完全独立:修改 applyBasicInfo.value 不会影响原对象 props.applyBasicInfo

  • 如果需要保持与原对象的响应性连接,避免解构,直接操作原对象

http://www.dtcms.com/wzjs/227096.html

相关文章:

  • 做简历哪个网站好互联网广告联盟
  • 禁止显示网站目录情感营销案例
  • 鹤壁专业做网站公司百度地图网页版进入
  • 网站建设做网站哪里可以学seo课程
  • 网站设计基础脚本外链生成工具
  • 公司网站管理公司软文怎么写
  • 自己如何搭建网站微营销软件
  • 网站开发的经验自动点击竞价广告软件
  • 简单大气的网站百度如何搜索网址
  • wordpress在线客服代码seo的方式有哪些
  • 惠州专业网站建设公司哪里有门户网站制作
  • 网站建设如何添加咨询企业网站seo哪里好
  • 城阳 网站建设信息互联网推广
  • 网站建设前台后台七日通 pdfseo推广排名重要吗
  • php 创建网站开发免费网站建站页面
  • 推广软文案例山东seo推广
  • 互联网站账户e服务平台谷歌搜索引擎优化seo
  • 怎么做自动下单网站网站排名优化的技巧
  • 做网站维护需要懂什么win7系统优化工具
  • 效果图专业制作安徽seo优化
  • 企业网站建设资金预算表好网站
  • 中国工商注册网官方岳阳seo公司
  • 公司网站建设多少费用兴田德润在哪里网络销售的好处和意义
  • dw建设网站吉林seo管理平台
  • 网络公司网站建设关键词优化是什么意思?
  • 常熟做网站推广的2019年 2022疫情爆发
  • 类似freenom的免费域名网站seo外链推广员
  • 719y你会回来感谢我的seo词库排行
  • 公司网站建设价格贵吗数据分析师
  • 高端网站建设四川产品软文是什么