Vue3 中的v-model实现父子组件数据同步通信
v-model在vue2中也就是双向绑定作用,但是在vue3中除了实现双向绑定外,还可以进行组件的通信父子组件的数据同步,接下来看看例子:
<template> <h1>{{ num }}</h1> <child-event v-model="num"></child-event> </template> <script lang="ts" setup> import childEvent from "./childEvent.vue" let num = ref(1000)
以上是父组件的代码,接下来我们实现点击子组件的按钮,同步父组件的num值
<template> <div> <div>我是子组件</div> <button @click="handler1">点击增加100</button> </div> </template> <script setup lang="ts"> let emits = defineEmits(['update:modelValue']) let props = defineProps(['modelValue']) const handler1 = () => { emits('update:modelValue', props.modelValue + 100) // console.info(props) } </script>
以上是子组件的代码
<template> <child-event v-model="num"></child-event> //上面的代码等同于下面的代码 <child-event :modelValue="num" @update:modelValue="handler1"></child-event> </template>
v-model理论上的作用是:
第一:相当于给子组件传递props['modelValue'] = 1000的属性值
第二:相当于给子组件绑定了自定义事件update:modelValue
所以,这样就实现了父子组件的数据的同步了。
标签:
Vue3 v-model
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具