av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

vue中組件通信詳解(父子組件, 爺孫組件, 兄弟組件)

瀏覽:77日期:2022-12-26 16:47:00

vue中我們常常用到組件. 那么組件總體可以分為如下的幾種關系.

父子組件, 爺孫組件, 兄弟組件. 這幾種組件之間是如何通信的呢?

父子組件通信

根據vue中的文檔可知, 組件的props屬性用于接收父組件傳遞的信息. 而子組件想要向父組件傳遞信息, 可以使用$emit事件.

我們定義兩個組件, 一個為父組件名為father, 另外一個為子組件child. 子組件通過props屬性接收父組件傳遞的值, 這個值為fname, 是父組件的名字. 點擊子組件的按鈕, 觸發toFather事件, 向父組件傳遞消息. 父組件做出相應的反應.

將父組件和子組件放入名為app的vue實例中

Vue.component(’child’, { props: [’fname’], template: ` <div class='child'> 這是兒子, 我爸爸是{{fname}} <button @click='$emit(’toFather’)'>點我通知爸爸</button> </div> `})Vue.component(’father’, { data() { return { info: ’無消息’ } }, template: ` <div class='father'> 這是父親, {{info}} <child fname='father' @toFather='getSonMsg'></child> </div> `, methods: { getSonMsg() { this.info = ’我收到兒子傳來的消息了’ } }})new Vue({ el: ’#app’,})

注意上面的組件定義順序不能換

讓后我們在html文件中寫入即可

<div id='app'> <father></father> </div>

vue中組件通信詳解(父子組件, 爺孫組件, 兄弟組件)

點擊按鈕后發現我們的父組件發生了變化

vue中組件通信詳解(父子組件, 爺孫組件, 兄弟組件)

點擊這里可以查看效果

爺孫組件通信

因為vue只是說明了父子組件如何通信, 那么爺孫組件是沒有辦法直接通信的. 但是它們可以分解為兩個父子組件通信.

即爺爺和父親看成是一個父子組件, 而父親和孫子看成是一個父子組件. 這樣它們之間就可以進行通信了. 通過父親組件合格橋梁, 可以實現爺孫的通信. (注意: 爺孫組件是無法直接通信的)

兄弟組件通信

兄弟組件通信即組件之間通信. 這就要用到觀察者模式了. 因為vue實例的原型全部來自Vue.prototype. 那么我們就可以了將事件中心綁定到Vue.prototype的某個屬性上, 暫且叫它為bus吧.

let bus = new Vue()

Vue.prototype.bus = bus

我們再定義兩個組件, up組件和down組件, 當點擊down組件中的按鈕時, 會給up組件傳遞信息.

Vue.component(’up’, { data() { return { msg: ’未傳遞消息’ } }, template: ` <div class='up'> <p>這是up組件, 下一行為down傳遞的消息</p> <p>{{msg}}</p> </div> `, mounted() { this.bus.$on(’send’, (msg)=> { this.msg = (msg) }) }})Vue.component(’down’, { template: ` <div class='down'> <p>這是down</p> <button @click='toUp'>點擊我向up組件傳遞消息</button> </div> `, methods: { toUp() { this.bus.$emit(’send’, ’down來消息了’) } }})new Vue({ el: ’#app’,})

并且將兩個組件放入名為app的實例中

<div id='app'> <up></up> <down></down> </div>

vue中組件通信詳解(父子組件, 爺孫組件, 兄弟組件)

按鈕被點擊后, up組件會接收到消息

vue中組件通信詳解(父子組件, 爺孫組件, 兄弟組件)

點擊這里查看源代碼

以上這篇vue中組件通信詳解(父子組件, 爺孫組件, 兄弟組件)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
主站蜘蛛池模板: 中文字字幕一区二区三区四区五区 | 二区在线视频 | 精品真实国产乱文在线 | 欧美日韩中文字幕在线播放 | 欧美一级在线 | 国产日韩欧美激情 | 亚洲精品一区二区三区在线 | 特黄特色大片免费视频观看 | 欧美日韩亚洲二区 | 亚洲一区二区在线电影 | 69电影网| 中文亚洲视频 | 国产高清精品一区二区三区 | 狠狠干狠狠操 | 国产精品一区二区福利视频 | 免费一区 | 秋霞在线一区二区 | 久久精品国产一区二区电影 | 黄色精品 | 欧美高清性xxxxhdvideosex | 亚洲综合资源 | 日日日操 | 久久久久久成人 | 天天干天天玩天天操 | 美女日批免费视频 | 欧美一区二区免费视频 | 91丨九色丨国产在线 | 亚洲国产精品久久久 | 国产精品91久久久久久 | 欧洲妇女成人淫片aaa视频 | 欧美精品一区二区三区蜜桃视频 | 日本手机在线 | 国产综合一区二区 | a在线观看 | 这里精品 | 美女视频一区二区三区 | 亚洲一区二区综合 | 91人人澡人人爽 | 久久久视频在线 | 国产a区| 国产精品一区二区三区四区 |