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

vue3通过v-model实现父子组件通信

单一值传递

父组件

<template>
  <div >
    <h1>v-model实现父子组件通讯</h1>
    <hr>
    <child1 v-model="num"></child1>
    <!-- 上下两个是等价的 -->
    <child1 :modelValue="num" @update:modelValue="handle"></child1>
  </div>
</template>

<script setup>
import {ref} from 'vue'
import child1 from './child1.vue';
let num = ref(0);
const handle =(value)=> {
  num.value = value
}
</script>

子组件

<template>
  <div>
    <h1>我是子组件</h1>
    <!-- 父组件传过来的值 -->
    <h3>{{ modelValue }}</h3>
    <button @click="$emit('update:modelValue', modelValue+1)">修改父组件的值</button>
  </div>
</template>

<script setup>
let props = defineProps(['modelValue'])
const $emit = defineEmits(['update:modelValue'])
</script>

在这里插入图片描述

多个v-model实现父子组件传值

父组件

<template>
  <div >
    <h1>v-model实现父子组件通讯</h1>
    <hr>
    <child1 v-model:firstnum="num1" v-model:secondnum="num2"></child1>
  </div>
</template>

<script setup>
import {ref} from 'vue'
import child1 from './child1.vue';
let num1 = ref(0);
let num2 = ref(0);
</script>

<style lang="scss" scoped></style>

子组件

<template>
  <div>
    <h1>我是子组件</h1>
    <!-- 父组件传过来的值1 -->
    <h3>{{ firstnum }}</h3>
    <!-- 父组件传过来的值2 -->
    <h3>{{ secondnum }}</h3>
    <button @click="handler">修改父组件的值</button>
  </div>
</template>

<script setup>
let props = defineProps(['firstnum', 'secondnum'])
const $emit = defineEmits(['update:firstnum', 'update:secondnum'])
const handler = () => {
  $emit('update:firstnum', props.firstnum+1)
  $emit('update:secondnum', props.secondnum+4)
}
</script>

在这里插入图片描述


http://www.kler.cn/a/152709.html

相关文章:

  • linux NAT网卡配置static
  • C/C++---------------LeetCode第876. 链表的中间结点
  • Qt之QOpenGLWidget开始3D显示
  • Flutter加固原理及加密处理
  • 记录一下npm包的关键字段
  • 【高并发】故障转移
  • 公网穿透和RTC
  • 【LeetCode】 160. 相交链表
  • 01:编译lua及C调用
  • JS 倒计时方法(可改造)
  • 27.Spring如何避免在并发下获取不完整的Bean?
  • 有关安科瑞AIM-D100-ES储能用直流绝缘监测仪的功能介绍-安科瑞 蒋静
  • 【快速见刊|投稿优惠】2024年机电一体与自动化技术国际学术会议(IACMAT 2024)
  • ELK分布式日志管理平台部署
  • JVM的小知识总结
  • nvm安装管理nodejs版本
  • C++-设计一个特殊类
  • 【高效开发工具系列】Hutool DateUtil工具类
  • ARM安全架构——为复杂软件提供保护
  • 设计模式:观察者模式