vue3中的props和emit

首先我们要明确props和emit是在父子组件(嵌套组件)中使用的 。

想要在父组件中渲染出子组件里的内容,需要在父组件中导入子组件,并在模板中渲染子组件。

那父子组件中如何通信呢?就需要使用到props和emit。

props

当子组件要接受父组件传递的数据信息时,也可以说是父组件传递数据给子组件时(子组件要显示父组件中的内容),需要使用props传递。

在子组件中,需要声明它所接受的props

<script setup>

const props = defineProps({
msg:string

}) 

</script>   

<template>
{{msg}}
</template>
在父组件中,导入子组件

<script setup>
import {ref} from 'vue'
import children from './children.vue'

导入之后,定义需要传输的数据
const hello=ref( 'hello,my friend')

</script>

<template>

在模板中的子组件内部动态绑定传输的数据

  <children :msg='hello' />

</template>

在子组件中,结果会显示父组件中的hello里的内容,hello的内容变化时,显示的内容会同步变化。

emit

子组件要向父组件触发事件时,也就是说,父组件要显示子组件中的内容时,需要使用emit传递。

在子组件中
<script setup>

//需要声明触发的事件
const emit = defineEmits(['response'])

//emit() 的第一个参数是事件的名称。其他所有参数都将传递给事件监听器。
emit('response', 'hello child')

</script>

在父组件中,需要使用v-on 监听子组件触发的事件
<script setup>

import { ref } from 'vue'
import Child from './Child.vue'

const childMsg = ref('No msg ')
</script>

<template>
//response是子组件中定义的需要触发的事件名称,把子组件中msg的值赋给负组件中的childmsg
  <Child   @response="(msg) => childMsg = msg"  />
  <p>{{ childMsg }}</p>
</template>

在父组件中,结果显示为子组件中的emit传递的第二个参数的值,当值发生变化时,视图也会同步变化。

相关推荐

  1. vue3propsemit

    2024-07-16 07:30:06       25 阅读
  2. Vue3propsemits使用总结

    2024-07-16 07:30:06       38 阅读
  3. Vue】$emitsprops

    2024-07-16 07:30:06       32 阅读
  4. Vue3 propsemit 用法

    2024-07-16 07:30:06       33 阅读
  5. 初识Vue-组件通信(详解propsemit

    2024-07-16 07:30:06       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 07:30:06       101 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 07:30:06       109 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 07:30:06       87 阅读
  4. Python语言-面向对象

    2024-07-16 07:30:06       96 阅读

热门阅读

  1. 昇思25天学习打卡营第22天|MindNLP ChatGLM-6B StreamChat

    2024-07-16 07:30:06       29 阅读
  2. 函数式自动微分

    2024-07-16 07:30:06       24 阅读
  3. kubernetes1.24版本移除 Dockershim

    2024-07-16 07:30:06       28 阅读
  4. Redis 是什么

    2024-07-16 07:30:06       31 阅读
  5. BERT架构的深入解析

    2024-07-16 07:30:06       35 阅读
  6. PyCharm & 机器学习:打造高效数据可视化工作流

    2024-07-16 07:30:06       32 阅读
  7. 算法工程师热门面试问题一

    2024-07-16 07:30:06       23 阅读
  8. Android Studio Download Gradle 时慢问题解决

    2024-07-16 07:30:06       31 阅读
  9. 网络安全-网络安全及其防护措施3

    2024-07-16 07:30:06       34 阅读
  10. 安全加固:Eureka服务实例安全组配置全攻略

    2024-07-16 07:30:06       32 阅读
  11. Vue+Electron打包桌面应用(从零到一完整教程)

    2024-07-16 07:30:06       38 阅读