一文搞懂具名插槽的使用,子父组件通信及数据动态交互的全过程(VUE3+TS)

本文以图标形式简短的表述父子组件中使用插槽的数据交互过程

下图中是父组件department与子组件的动态数据交互

在这里插入图片描述

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3 中,组件向子组件传递事件可以通过使用 props 和 emit 来完成。下面是一个示例: 组件(ParentComponent.vue): ```vue <template> <div> <h2>组件</h2> <button @click="updateChild">更新子组件</button> <child-component :message="message" @customEvent="handleEvent"></child-component> </div> </template> <script> import ChildComponent from './ChildComponent.vue'; export default { components: { ChildComponent }, data() { return { message: 'Hello from parent!' }; }, methods: { updateChild() { this.message = 'Updated message from parent!'; }, handleEvent(payload) { console.log('Received event from child:', payload); } } }; </script> ``` 子组件(ChildComponent.vue): ```vue <template> <div> <h3>子组件</h3> <p>{{ message }}</p> <button @click="emitEvent">触发事件</button> </div> </template> <script> export default { props: { message: String }, methods: { emitEvent() { this.$emit('customEvent', 'Custom event payload'); } } }; </script> ``` 在组件中,我们通过将 `message` 属性传递给子组件 `<child-component>`,子组件接收到 `message` 属性并在模板中进行渲染。 通过 `@customEvent="handleEvent"`,我们监听了子组件的 `customEvent` 事件,并在组件中定义了 `handleEvent` 方法来处理事件的回调。在子组件中,我们通过 `this.$emit('customEvent', 'Custom event payload')` 来触发 `customEvent` 事件,并传递一个可选的 payload。 当点击组件中的 "更新子组件" 按钮时,`message` 的值会更新,子组件也会相应地更新。 在子组件中,当点击 "触发事件" 按钮时,`customEvent` 事件会被触发,并将 'Custom event payload' 作为 payload 传递给组件的 `handleEvent` 方法。 这样,组件就可以向子组件传递事件并接收子组件触发的事件了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值