美文网首页
Vue总线Bus兄弟组件传参

Vue总线Bus兄弟组件传参

作者: AI晓晓 | 来源:发表于2019-09-28 20:50 被阅读0次

一、前言

   使用场景:在vue项目较小的情况,使用bus总线思路来完成vuex的传值功能。

二、内容

、、、

//util.js

export default class Bus {

  constructor() {

    this.callbacks = {}

  }

  $on(name, fn) {

    this.callbacks[name] = this.callbacks[name] || []

    this.callbacks[name].push(fn)

  }

  $emit(name, args) {

    if (this.callbacks[name]) {

      // 存在 遍历所有callback

      this.callbacks[name].forEach(cb => cb(args))

    }

  }

}

//mai.js

import Bus from './utils/bus'

Vue.prototype.$bus = new Bus()

//组件A

this.$bus.$on('log', content => {

      console.log(content)

    })

//组件B

this.$bus.$emit('log', 120)

//父组件

<template>

  <div class="home">

    <demo1 :msg1="msg111" />

    <demo2 :msg2="msg222" />

  </div>

</template>

、、、

总结:

    Vue-Bus是一种总线思想,即各个兄弟组件通过Bus(即Vue实例)进行参数传递!

相关文章

  • Vue总线Bus兄弟组件传参

    一、前言 使用场景:在vue项目较小的情况,使用bus总线思路来完成vuex的传值功能。 二、内容 、、、 //...

  • vue的Bus使用

    父子页面的传参 1、定义Bus 2、挂载Bus 将bus挂载到vue.prototype上 3、子组件调用 在子组...

  • Vue 非父子传参(兄弟组件)bus中央总线 精彩demo

    首先,新建一个js文件,并在两个组件中引入。如下图: js文件里写一个空壳,如下: 一、父组件中,注册两个子组件并...

  • vue组件之间通信

    vue父组件给子组件传参使用props子组件给父组件传参使用时间派发$dispatch兄弟组件之间传递参数使用vuex

  • vue两个组件之间通信,不使用父子关系

    vue中的bus事件,一般作为中央事件总线来使用 简单例子:比如在A,B组件为兄弟组件,现在A要调用B的中C事件 ...

  • 组件传值之兄弟传值

    兄弟传值: 1、如果有共同的父组件,我们可以使用子传父,父传子 2、通过bus总线传值可以应用在任何情况的兄弟传值...

  • vue组件传参问题

    在vue项目中会经常遇到组件传参问题,今天就来了解一下父子组件和兄弟组件传参 父组件传值给子组件 *父组件通过 ...

  • vue组件传值

    1.兄弟组件传值 兄弟组件之间就需要一个中间值,我在这里称为bus。在vue文件main.js中,我们利用 Vue...

  • Vue - 兄弟组件传值

    1. 使用中间Vue实例实现兄弟传值。 创建一个用于转发数据的中间Vue实例bus 在子组件1中使用bus.$em...

  • Vue 非父子组件的数据传递

    Vue 复杂的组件之间传值有两种常用的方法,数据层框架vuex和(Bus/总线/发布订阅模式/观察者模式)。在这...

网友评论

      本文标题:Vue总线Bus兄弟组件传参

      本文链接:https://www.haomeiwen.com/subject/fpqauctx.html