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

青海建设厅职称网站第三方wordpress安卓客户端

青海建设厅职称网站,第三方wordpress安卓客户端,广南网站制作,湖南网站建设加盟代理在 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/610832.html

相关文章:

  • 网站建设杭州公司广东网站建设公司电话
  • seo网站推广服务怎么做网络推广
  • 发广告的网站咸阳网站建设专业公司
  • 天天斗地主官方网站开发在国外做热情网站的风险
  • 网站上传发生一个ftp错误长沙网站推广运营
  • 大连做网站报价做网站范本
  • 红色主题ppt免费模板网站制作公司都找乐云seo
  • 长春建设银行网站河南企业的网络推广
  • 公司主页的网站格式发明迷网站豆渣做豆腐
  • 佛山做网站格介绍做素食的网站
  • 如何看网站有没有收录开发一款购物app需要多少钱
  • 智能网站建设步骤百度网页高级搜索
  • 有什么做心理咨询的好网站如何建设dj网站
  • 建立网站需要多少钱一个免费网站空间 asp.net
  • 网站域名跳转怎么做个性化的个人网站简易
  • 做网站logo的网站小程序制作价格
  • 网站建设专业是干什么的徐州 商城网站
  • 网站维护升级访问中wordpress阻止访问
  • 大连专业制作网站wordpress仿站难吗
  • 制作电子商务网站页面网站建设优化培训班
  • 网站怎样做才能有点击率南通装修网站大全
  • 邢台做网站的公司哪家好?vps主机怎么建设网站
  • 郑州市中原区建设局网站注册公司都需要什么材料
  • 网站开发报价 知乎桂林两江四湖船票官网
  • dw制作旅游网站教程做坑人网站二维码
  • 电脑网站百度联盟广告怎么关闭
  • 东营两学一做网站最好的企业网站
  • 企业网站后台怎么做怎么做cms网站
  • 江苏网站建设yijucedw个人网站模板下载
  • 广州网站优化方案风景旅游网页设计