setup中子组件抛出事件通过context.emit

2022-08-01 11:37:40

vue3 setup中子组件抛出事件通过context.emit

index.vue 父页面

<template><div><child:name="name"title="标题一"@itemclick="itemclickFun"/></div></template><script>import{ ref}from'vue'// 导入子组件import childfrom'../../components/child'exportdefault{
    name:'index',
    components:{
        child},setup(){const name=ref('传入子组件的name');// 监听子组件抛出的事件constitemclickFun=(e)=>{
            console.log('子组件给的值:', e);}return{ name, itemclickFun}}}</script>

child.vue 子组件

<template><div@click="clickInfo">
        子组件 == {{name1}}, {{title1}}</div></template><script>import{ reactive}from'vue'exportdefault{
    name:'child',
    props:{
        name: String,
        title: String},setup(props, context){const name=reactive(props.name)const title=reactive(props.title)// 子组件点击事件constclickInfo=()=>{// 抛出事件
            context.emit('itemclick',{name:'emitClick'})}return{ name, title, clickInfo};}}</script>
  • 作者:青衣浏阳
  • 原文链接:https://blog.csdn.net/m0_49016709/article/details/116125618
    更新时间:2022-08-01 11:37:40