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

做深度报道的网站公司推广咨询

做深度报道的网站,公司推广咨询,安泽网站建设,哪个软件推广平台比较好在 Vue 3 中&#xff0c;当子组件需要修改父组件传递的数据副本并同步更新时&#xff0c;可以通过以下步骤实现&#xff1a; 方法 1&#xff1a;使用 v-model 和计算属性&#xff08;实时同步&#xff09; 父组件&#xff1a; vue <template><ChildComponent v-mo…

在 Vue 3 中,当子组件需要修改父组件传递的数据副本并同步更新时,可以通过以下步骤实现:

方法 1:使用 v-model 和计算属性(实时同步)

父组件

vue

<template><ChildComponent v-model="parentData" />
</template><script setup>
import { ref } from 'vue';
const parentData = ref(initialValue);
</script>

子组件

vue

<template><input v-model="modelValueComputed" />
</template><script setup>
import { computed } from 'vue';const props = defineProps(['modelValue']);
const emit = defineEmits(['update:modelValue']);// 计算属性实现双向绑定
const modelValueComputed = computed({get: () => props.modelValue,set: (value) => emit('update:modelValue', value)
});
</script>

方法 2:使用副本和侦听器(实时同步)

父组件同上。

子组件

vue

<template><input v-model="localData" />
</template><script setup>
import { ref, watch } from 'vue';const props = defineProps(['modelValue']);
const emit = defineEmits(['update:modelValue']);// 创建副本
const localData = ref(props.modelValue);// 监听本地副本变化,同步到父组件
watch(localData, (newVal) => {emit('update:modelValue', newVal);
});// 监听父组件数据变化,更新副本
watch(() => props.modelValue, (newVal) => {localData.value = newVal;
});
</script>

方法 3:手动触发更新(如提交按钮)

父组件

vue

<template><ChildComponent :data="parentData" @update="handleUpdate" />
</template><script setup>
import { ref } from 'vue';
const parentData = ref(initialValue);const handleUpdate = (newVal) => {parentData.value = newVal;
};
</script>

子组件

vue

<template><input v-model="localData" /><button @click="submit">提交</button>
</template><script setup>
import { ref, watch } from 'vue';const props = defineProps(['data']);
const emit = defineEmits(['update']);// 初始化副本
const localData = ref(props.data);// 父组件数据变化时更新副本
watch(() => props.data, (newVal) => {localData.value = newVal;
});const submit = () => {emit('update', localData.value);
};
</script>

关键点说明:

  1. 副本创建:子组件通过 ref 或 reactive 创建数据的副本,避免直接修改 Props。

  2. 数据同步

    • 实时同步:通过 watch 监听副本变化并触发事件 (emit),同时监听 Props 更新副本。

    • 手动同步:在用户操作(如点击按钮)时提交修改。

  3. 双向绑定:利用 v-model 语法糖简化父子通信,自动处理 Prop 和事件。

  4. 更新策略:根据场景选择是否实时同步或手动同步,避免循环更新或数据不一致。

注意事项:

  • 深拷贝:如果传递的是对象/数组,需使用深拷贝(如 JSON.parse(JSON.stringify(props.data)))避免引用问题。

  • 性能:频繁的 watch 可能影响性能,复杂场景可考虑防抖或优化监听逻辑。

  • 数据一致性:父组件更新后,若需子组件副本同步,务必监听 Prop 变化并更新副本。

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

相关文章:

  • 字体设计海报seo外链收录
  • 手机版网站建设价格宁波seo推广外包公司
  • 做图片祝福的网站促销策略
  • 微站开发百度seo怎么关闭
  • 爱民网站制作关键词优化按天计费
  • 怎样向网站上传照片短视频关键词seo优化
  • 公司微信网站开发平台怎么在百度发广告
  • 龙华网站建设价格电商网站图片
  • 企业网站建设中存在的问题网站链接查询
  • 网站建设方案书 个人备案上海网站搜索引擎优化
  • 网站的总体架构怎么申请建立网站
  • 大连网站制作师免费永久个人域名注册
  • 哪里可以检测药物成分seo和sem是什么意思啊
  • 焦作做网站网络营销的核心
  • 网站做下载功能网站的优化策略方案
  • 青岛网站建设青岛谷歌代理
  • 青岛知名网站建设多少钱北京seo包年
  • 平台建设网站公司什么是seo推广
  • 生成网站地图网站推广的常用方法有哪些?
  • 中兴路由器做网站搜索引擎关键词seo优化公司
  • WordPress手机插件耗费CPUseo数据统计分析工具有哪些
  • 网站全站模板百度知道登录入口
  • 有没有做图的网站推广软文模板
  • wordpress首页排版更换南宁企业官网seo
  • 可以做微积分的网站做网站推广
  • 白天做彩票维护的网站中国营销网
  • wordpress 瀑布流加载seo优化排名教程百度技术
  • 怎么压缩网站南宁seo优化
  • 为第三方网站做推广湖南网站推广
  • 官方商城下载google seo整站优化