日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

自我总结篇之vue的组件通信(父传子 子传父 非父子)

發布時間:2023/12/10 vue 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自我总结篇之vue的组件通信(父传子 子传父 非父子) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:父傳子

父組件代碼如下:

<template><div class="father"><child :message='message' :message2='message2'></child> </div> </template> <script> import child from '@/components/child.vue' export default {components:{child},data(){return{message: '我是來自父組件的第一條message',message2:'我是來自父組件的第二條message'}} } </script>

子組件代碼如下:

<template><div class="child">{{message}}<br/>{{message2}}</div> </template> <script> export default {props:['message','message2'] } </script>

運行結果如下圖:

二:子傳父

子組件代碼如下:

<template><div class="child" ><button @click="sendMsgToParent">點擊開始傳值</button></div> </template> <script> export default {data(){return{}},methods:{sendMsgToParent(){this.$emit('listenMsg','我是來自子組件的message')}} } </script>

父組件代碼如下:

<template><div class="father">{{msg}}<child v-on:listenMsg="showMsg"></child> </div> </template> <script> import child from '@/components/child.vue' export default {components:{child},data(){return{msg:'我是來自父組件的msg'}},methods:{showMsg(data){this.msg = data}} } </script>

運行結果如下:

?

點擊按鈕后,運行結果如下:

三:非父子

如果是非父子進行組件通信的話,我們首先要創建一個橋梁,通過這個橋梁使兩個組件產生聯系。

首先創建‘橋梁’-----bus.js,代碼如下

import Vue from 'vue' const bus = new Vue() export default bus

然后組件A通過點擊事件想將數據發送給組件B,代碼如下

<template><div class="hello">{{number}}<br/><button @click="sendNumber()">發送</button></div> </template> <script> import bus from '../assets/js/bus.js' export default {data(){return{number:'我是hello組件參數123'}},methods:{sendNumber(){bus.$emit('acceptNumber',this.number)}} } </script>

組件B接受發送過來的數據,代碼如下

<template><div class="world">{{number}}</div> </template> <script> import bus from '../assets/js/bus.js' export default {data(){return{number:'我是world組件參數456'}},created(){bus.$on('acceptNumber',data =>{this.number = data})} } </script>

代碼運行后,演示結果如下圖

?

當點擊發送按鈕后,演示結果如下圖

至此,非父子組件通信完成。

?

轉載于:https://www.cnblogs.com/YMoonwind/p/11164129.html

總結

以上是生活随笔為你收集整理的自我总结篇之vue的组件通信(父传子 子传父 非父子)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。