当前位置: 首页 > 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/282838.html

相关文章:

  • 武汉制作网站的公司简介个人免费网站建设
  • 网站建设哪家公司便宜网页设计制作网站教程
  • 公司想做个网站seo免费资源大全
  • 甘肃网络公司网站建设微信公众号推广
  • 西部数码网站打不开软件开发培训机构排名
  • 专门做狗猫配套网站有什么意思市场调研报告怎么写范文
  • 西安网站建设淘猫网络seo的基本步骤包括哪些
  • 中国网购网站十大排名今日时政新闻
  • 网站模板信息不存在免费跨国浏览器
  • 拉新推广怎么找渠道商丘seo教程
  • wordpress子菜单位置网页搜索优化
  • 代做效果图的网站google移动服务应用优化
  • 增城高端网站建设谷歌浏览器下载安装2021最新版
  • 建设优秀企业网站湖南 seo
  • 南昌企业建设网站设计网络营销案例分析报告
  • 福州建网站 做网页广东网络seo推广公司
  • 高品质的网站开发公司学市场营销后悔死了
  • 聊城房地产网站建设广告优化师怎么学
  • 巫山那家做网站seo案例分析及解析
  • 营销网站设计公司有哪些平台怎样推广
  • 《网站开发实训》实验报告广告优化师工作内容
  • 有一个网站叫浪什么微信推广怎么做
  • 怎么在濮阳网站做宣传软件测试培训机构哪家好
  • 怎么做带数据库的网站成都短视频代运营
  • 网站建设实训操作步骤百度知道官网手机版
  • 普陀专业做网站推广通
  • 网站设计的主要内容洛阳网站seo
  • 一个专门做特产的网站站长之家app
  • 哪个网站买做房图纸好上海网站建设服务
  • 建设部网站取消园林资质外贸营销策略都有哪些