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

社区团购小程序模板东莞seo整站优化代理

社区团购小程序模板,东莞seo整站优化代理,广州竞价托管公司,创意广告在 Vue 3 里,借助 v-model 可以轻松实现父组件与子组件的双向绑定。以下为你详细介绍实现步骤与示例代码。 实现原理 v-model 在 Vue 3 里是一种语法糖,它本质上是 :modelValue 和 update:modelValue 的组合。父组件借助 :modelValue 向子组件传递数据…

在 Vue 3 里,借助 v-model 可以轻松实现父组件与子组件的双向绑定。以下为你详细介绍实现步骤与示例代码。

实现原理

v-model 在 Vue 3 里是一种语法糖,它本质上是 :modelValue 和 @update:modelValue 的组合。父组件借助 :modelValue 向子组件传递数据,子组件则通过 @update:modelValue 事件把数据变化反馈给父组件。

示例代码

子组件(ChildComponent.vue

vue

<template><div><!-- 输入框绑定到 localValue --><input v-model="localValue" type="text" /></div>
</template><script setup>
import { ref, watch } from 'vue';
// 定义接收的 prop
const props = defineProps({modelValue: String
});
// 定义触发的事件
const emit = defineEmits(['update:modelValue']);// 创建一个本地响应式变量,初始值为父组件传递的 modelValue
const localValue = ref(props.modelValue);// 监听 localValue 的变化
watch(localValue, (newValue) => {// 当 localValue 变化时,触发 update:modelValue 事件通知父组件emit('update:modelValue', newValue);
});
</script>
父组件(ParentComponent.vue

vue

<template><div><!-- 使用 v-model 绑定到 parentData --><ChildComponent v-model="parentData" /><!-- 显示父组件的数据 --><p>父组件中的数据: {{ parentData }}</p></div>
</template><script setup>
import { ref } from 'vue';
import ChildComponent from './ChildComponent.vue';// 创建父组件的响应式数据
const parentData = ref('初始数据');
</script>

代码解释

子组件
  • defineProps:定义接收的 props,这里接收 modelValue 作为输入值。
  • defineEmits:定义可以触发的事件,这里定义了 update:modelValue 事件。
  • localValue:创建一个本地的响应式变量,初始值为父组件传递的 modelValue
  • watch:监听 localValue 的变化,当它发生变化时,触发 update:modelValue 事件并将新值传递给父组件。
父组件
  • v-model:使用 v-model 指令将 parentData 绑定到子组件。
  • parentData:创建一个响应式数据,用于存储和显示数据。

多 v-model 绑定

如果你需要在子组件中支持多个 v-model 绑定,可以为不同的 props 和 emits 事件设置不同的名称。

子组件(支持多个 v-model

vue

<template><div><input v-model="textValue" type="text" /><input v-model="numberValue" type="number" /></div>
</template><script setup>
import { ref, watch } from 'vue';
// 定义接收的 props
const props = defineProps({textModelValue: { default: '' },numberModelValue: { default: 0 }
});
// 定义触发的事件
const emit = defineEmits(['update:textModelValue','update:numberModelValue'
]);// 创建本地响应式变量
const textValue = ref(props.textModelValue);
const numberValue = ref(props.numberModelValue);// 监听 textValue 的变化
watch(textValue, (newValue) => {// 当 textValue 变化时,触发 update:textModelValue 事件通知父组件emit('update:textModelValue', newValue);
});// 监听 numberValue 的变化
watch(numberValue, (newValue) => {// 当 numberValue 变化时,触发 update:numberModelValue 事件通知父组件emit('update:numberModelValue', newValue);
});
</script>
父组件(使用多个 v-model

vue

<template><div><!-- 使用 v-model:text 和 v-model:number 分别绑定到 textData 和 numberData --><ChildComponentv-model:text="textData"v-model:number="numberData"/><!-- 显示父组件的文本数据 --><p>文本数据: {{ textData }}</p><!-- 显示父组件的数值数据 --><p>数值数据: {{ numberData }}</p></div>
</template><script setup>
import { ref } from 'vue';
import ChildComponent from './ChildComponent.vue';// 创建父组件的响应式数据
const textData = ref('');
const numberData = ref(0);
</script>

总结

通过以上步骤,你可以在 Vue 3 中实现父组件与子组件的双向绑定。使用 v-model 可以让代码更加简洁和易于维护。

http://www.dtcms.com/a/575843.html

相关文章:

  • 锦州网站seo个人空间网站免费
  • 写作的网站有哪些设计网官方网站
  • 网站建设 中企动力上海石家庄建设项目公示网
  • 网站建设合作协议模板电商网站设计公司
  • 有了域名后怎么完成网站建设西柳网站建设
  • 做网站人淘宝网站建设需求分析
  • 网站建设方案协议书wordpress 改变js路径
  • 做产品目录设计用什么网站好友情链接教程
  • 买好域名后怎么做网站wordpress 插件 教程视频教程
  • 企业在网站建设中需要做什么酒店官方网站建设书
  • iis 发布asp网站影响网站速度的代码
  • 雄安微网站开发国家能源招标网
  • 天津自贸区建设局网站移动应用开发案例
  • 在网站建设中遇到的问题网站备案审核状态查询
  • 便宜网站建设怎么样聊城市东昌府区建设局网站
  • 潍坊网站制作网络科技免费关键词搜索引擎工具
  • 北京中御建设公司网站百度快照搜索
  • 相亲网站排名前十名小红书笔记推广
  • 阿里云网站建设模板校园网站建设与管理
  • 营销网站的建造步骤湖北建设
  • 建外贸网站的做网站加入视频无法播放
  • wordpress主题发布站源码温州阀门网站建设
  • 网站制作收费明细表怎么弄一个微信小程序
  • 高安做网站重庆新闻经典论坛
  • 和男人人做的网站企业网站主页模板
  • 电子商务网站建设有管理课后答案四川建设厅网站打不开
  • c2c电子商务网站策划中国电信收购腾讯
  • 气血不足做网站万链网站做的怎么样?
  • 厦门网站建设ui无锡网站制作优化推广公司
  • 域名空间网站wordpress用户发表文章