位置: IT常识 - 正文

聊聊vue3的defineProps、defineEmits、defineExpose

编辑:rootadmin
聊聊vue3的defineProps、defineEmits、defineExpose

推荐整理分享聊聊vue3的defineProps、defineEmits、defineExpose,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

聊聊vue3的defineProps、defineEmits、defineExpose

最近在开发中用到了vue3的defineProps、defineEmits和defineExpose,感觉发现新大陆一般,所以利用闲碎时间对这三个方法做个总结。

definePropsconst props = defineProps<{ foo: String, bar?: Number}>()

defineProps 是vue3的写法并且是一个仅 <script setup> 中可用的编译宏命令,并不需要显式地导入;在vue3的非语法糖setup和在vue2中的写法是 props 。 defineProps的大部分用法是进行父子组件传值。

注意:defineProps() 宏中的参数不可以访问 <script setup>中定义的其他变量,因为在编译时整个表达式都会被移到外部的函数中。

实例:父组件传值给子组件 父组件通过将值传递给子组件,子组件通过defineProps进行接收,子组件点击后将接收到的值 alert 出来 结果:

defineEmitsconst emit = defineEmits<{(e: 'submit', num: number): void}>()

defineEmits 和 defineProps 一样也是仅用于 <script setup> ,并且不需要导入;在vue3的非语法糖setup中的写法是 emits 。 defineEmits 的不同点在于,组件要触发的事件可以显式地通过 defineEmits() 宏来

本文链接地址:https://www.jiuchutong.com/zhishi/295201.html 转载请保留说明!

上一篇:多种方法解决前后端报出的SyntaxError: xxx is not valid JSON的问题,比如“[object Object]“ is not valid JSON(有什么办法解决前进中的问题)

下一篇:H5页面内嵌到微信小程序和APP,做分享操作(h5页面内嵌到微信)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络