欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue2利用Bus.js如何實(shí)現(xiàn)非父子組件通信詳解

 更新時間:2017年08月25日 11:11:04   作者:印象卡卡  
這篇文章主要給大家介紹了關(guān)于vue2利用Bus.js如何實(shí)現(xiàn)非父子組件通信的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

大家應(yīng)該都知道,vue2中廢棄了$dispatch和$broadcast廣播和分發(fā)事件的方法。父子組件中可以用props和$emit()。如何實(shí)現(xiàn)非父子組件間的通信,可以通過實(shí)例一個vue實(shí)例Bus作為媒介,要相互通信的兄弟組件之中,都引入Bus,然后通過分別調(diào)用Bus事件觸發(fā)和監(jiān)聽來實(shí)現(xiàn)通信和參數(shù)傳遞。下面話不多說了,來一起看看詳細(xì)的介紹吧。

Bus.js可以是這樣

import Vue from 'vue'
export default new Vue()

在需要通信的組件都引入Bus.js

import Bus from '../common/js/bus.js'

添加一個button,點(diǎn)擊后$emit一個事件

<button @click="toBus">子組件傳給兄弟組件</button>

methods

methods: {
 toBus () {
  Bus.$emit('on', '來自兄弟組件')
 }
 }

另一個組件也import Bus.js 在鉤子函數(shù)中監(jiān)聽on事件

import Bus from '../common/js/bus.js'
export default {
 data() {
  return {
  message: ''
  }
 },
 mounted() {
  Bus.$on('on', (msg) => {
   this.message = msg
  })
  }
 }

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

最新評論