Vue组件入门(六)派发事件的参数传递

简介: Vue组件入门(六)派发事件的参数传递

前言


在我们在子组件中进行事件派发的时候,除了可以自定义事件以外,还可以进行数据传递,这在实际开发中将会非常有用。并且今天也会告诉大家一个之前章节中,没有提到的事件派发形式,用于在<script setup>中使用。


派发事件传参


之前我们介绍过,在模板中派发事件的可以的话,可以使用内置$emit的方法,但是在<script setup>$emit是无法使用的。但是我们就可以通过 defineEmits()方法返回的函数就行事件的派发:


<script setup>
const emit = defineEmits(['fontChange'])
function fontSub() {
  emit('fontChange')
}
</script>
复制代码


通过如上的方法的,我们就可以很方便的在 <script setup> 中 进行事件的派发了。

当然,如果我们想要在事件派发的过程中传递数据的话,也是很方便的。


只需要在defineEmits方法返回的函数的第二个参数,传递相应的数据就可以了。如下:


import { ref } from 'vue'
const fs = ref(1)
function fontSub() {
  emit('fontChange', fs)
}
</script>
复制代码


然后在父组件进行相应事件的监听就可以了:


<Content @fontChange="(n) => fs += n" />
复制代码


还有一点是,defineEmits方法除了可以传递数组外,还可以传递对象的,并能对自定义事件传递的参数进行相应的校验。


<script setup>
const emit = defineEmits({
  submit(payload) {
    // 可以通过接受的值进行相应的逻辑判断
    // 对数据进行校验
  }
})
</script>
复制代码


一眨眼的时间,国庆的假期已接近尾声,似乎感觉还没开始的国庆,已经结束了,明天就要开始搬砖的日子,即使内心里有一百个不情愿,但拿人钱财替人消灾,为了自己有个更好的未来,加油吧。


最后,在这国庆的最后一天里,祝大家做个好梦,迎接更美好的一天。

目录
打赏
0
0
0
0
2
分享
相关文章
Vue3中v-model在处理自定义组件双向数据绑定时,如何避免循环引用?
Web 组件化是一种有效的开发方法,可以提高项目的质量、效率和可维护性。在实际项目中,要结合项目的具体情况,合理应用 Web 组件化的理念和技术,实现项目的成功实施和交付。通过不断地探索和实践,将 Web 组件化的优势充分发挥出来,为前端开发领域的发展做出贡献。
161 64
Vue3中v-model在处理自定义组件双向数据绑定时有哪些注意事项?
在使用`v-model`处理自定义组件双向数据绑定时,要仔细考虑各种因素,确保数据的准确传递和更新,同时提供良好的用户体验和代码可维护性。通过合理的设计和注意事项的遵循,能够更好地发挥`v-model`的优势,实现高效的双向数据绑定效果。
211 64
在 Vue 3 中,如何使用 v-model 来处理自定义组件的双向数据绑定?
需要注意的是,在实际开发中,根据具体的业务需求和组件设计,可能需要对上述步骤进行适当的调整和优化,以确保双向数据绑定的正确性和稳定性。同时,深入理解 Vue 3 的响应式机制和组件通信原理,将有助于更好地运用 `v-model` 实现自定义组件的双向数据绑定。
Vue 组件间通信的最佳实践
本文总结了 Vue.js 中组件间通信的多种方法,包括 props、事件、Vuex 状态管理等,帮助开发者选择最适合项目需求的通信方式,提高开发效率和代码可维护性。
Vue 组件间如何通信
Vue组件间通信是指在Vue应用中,不同组件之间传递数据和事件的方法。常用的方式有:props、自定义事件、$emit、$attrs、$refs、provide/inject、Vuex等。掌握这些方法可以实现父子组件、兄弟组件及跨级组件间的高效通信。
Vue 中实现组件的懒加载
【10月更文挑战第23天】组件的懒加载是 Vue 应用中提高性能的重要手段之一。通过合理运用动态导入、路由配置等方式,可以实现组件的按需加载,减少资源浪费,提高应用的响应速度和用户体验。在实际应用中,需要根据具体情况选择合适的懒加载方式,并结合性能优化的其他措施,以打造更高效、更优质的 Vue 应用。
从入门到放弃,我们为何从 Blazor 回到 Vue
【10月更文挑战第29天】在前端开发中,许多开发者从尝试新技术 Blazor 最终回到熟悉的 Vue。主要原因包括:1) Blazor 学习曲线陡峭,Vue 上手容易;2) Vue 开发工具成熟,开发效率高;3) Vue 性能优异,优化简单;4) Vue 社区庞大,生态丰富;5) 项目需求和团队协作更适配 Vue。选择技术栈需综合考虑多方面因素。
318 0
|
4月前
|
vue使用iconfont图标
vue使用iconfont图标
203 1
Vue实现动态数据透视表(交叉表)
Vue实现动态数据透视表(交叉表)
121 13

热门文章

最新文章