vue3:子組件向父組件發送數據(vue@3.2.26)


一,編寫js代碼

1,Parent.vue
<template>
  <div>
    <Child @eventParent="receiveMessage"></Child>
  </div>
</template>
 
<script>
import Child from './Child'
export default {
  name: "Parent",
  components: {
     Child,
  },
  setup() {
      //接收消息
      const receiveMessage = (data) => {
           let msg="code:"+data.code+";msg:"+data.msg;
           alert(msg);
      }
 
      return {
        receiveMessage,
      }
  }
}
</script>
 
<style scoped>
 
</style> 
2,Child.vue
<template>
  <div>
    <button @click="sendToParent">向父組件傳遞消息</button>
  </div>
</template>
 
<script>
export default {
  name: "Child",
  setup (props,{emit}) {
   //向父組件發送消息
    const sendToParent = () => {
         let msg = {
           code:1,
           msg:"這是子組件發送的數據",
         }
         emit('eventParent',msg)
    }
 
    return {
      sendToParent,
    }
  }
}
</script>
 
<style scoped>
 
</style>

說明:劉宏締的架構森林是一個專注架構的博客,

網站:https://blog.imgtouch.com
本文: https://blog.imgtouch.com/index.php/2023/06/01/vue3-zi-zu-jian-xiang-fu-zu-jian-fa-song-shu-ju-vue-3-2-26/

         對應的源碼可以訪問這里獲取: https://github.com/liuhongdi/
         或: https://gitee.com/liuhongdi

說明:作者:劉宏締 郵箱: 371125307@qq.com

二,測試效果:

按鈕是子組件的元素,點擊后能向父組件發送消息,如圖:
 
點擊后,父組件收到消息后進行響應:

三,查看vue的版本:

liuhongdi@lhdpc:/data/vue/demo1$ npm list vue
demo1@0.1.0 /data/vue/demo1
├─┬ @vue/cli-plugin-babel@4.5.15
│ └─┬ @vue/babel-preset-app@4.5.15
│   └── vue@3.2.26 deduped
├─┬ element-plus@1.2.0-beta.6
│ ├─┬ @element-plus/icons-vue@0.2.4
│ │ └── vue@3.2.26 deduped
│ ├─┬ @vueuse/core@7.4.1
│ │ ├─┬ @vueuse/shared@7.4.1
│ │ │ └── vue@3.2.26 deduped
│ │ ├─┬ vue-demi@0.12.1
│ │ │ └── vue@3.2.26 deduped
│ │ └── vue@3.2.26 deduped
│ └── vue@3.2.26 deduped
└─┬ vue@3.2.26
  └─┬ @vue/server-renderer@3.2.26
    └── vue@3.2.26 deduped 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM