Detailed explanation of the use of bus in Vue

Detailed explanation of the use of bus in Vue

Vue bus mechanism (bus)

In addition to using vuex, communication between non-parent-child components in vue can also be done through the bus, and the two are applicable to different scenarios.

The bus is suitable for small projects and projects where data is used by fewer components. It is not suitable for medium and large projects where data is used among many components. Bus is actually a publish-subscribe model. It uses Vue's custom event mechanism to publish an event through $emit at the triggering location, and listens to the event through $on on the page that needs to be listened to.

Vuex is suitable for medium and large projects and situations where data is shared among multiple components.

Use of component communication bus

Create bus.js under the utils file

// utils - bus.js
import Vue from 'vue'
const bus = new Vue()
export default bus

1. Passing Values

Send Message

import bus from '@/utils/bus'

The first parameter is the flag variable, and the second parameter is the communication value.

us.$emit('message', 'hello');

Receiving information

import bus from '@/utils/bus'

The first parameter is the flag variable, and the e in the second parameter is the communication value.

bus.$on('message', (e) => {
 console.log(e)
})

2. Calling method

One component (A) calls a method of another component (B)

Methods of component B

import bus from '@/utils/bus'
mounted () { 
 bus.$on('testA', this.testA) 
},
testA () {
 console.log('Called by component A')
}

A component call

import bus from '@/utils/bus'
mounted () {
 bus.$emit('testA')
}

This is the end of this article about the use of bus in Vue. For more relevant content on the use of vue bus, please search for previous articles on 123WORDPRESS.COM or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Vue uses eventBus to realize communication between peer components
  • A very detailed summary of communication between Vue components
  • Sample code for implementing sibling component communication using eventBus in vue2.0s
  • Eight ways of component communication in Vue (worth collecting!)
  • The difference and usage of Vue2 and Vue3 brother component communication bus

<<:  Introduction to version management tool Rational ClearCase

>>:  Install docker offline by downloading rpm and related dependencies using yum

Recommend

When is it appropriate to use dl, dt, and dd?

dl:Definition list Definition List dt:Definition t...

Canonical enables Linux desktop apps with Flutter (recommended)

Google's goal with Flutter has always been to...

Tutorial diagram of using Jenkins for automated deployment under Windows

Today we will talk about how to use Jenkins+power...

Example of MySQL auto-increment ID exhaustion

Display Definition ID When the auto-increment ID ...

Vue3 compilation process-source code analysis

Preface: Vue3 has been released for a long time. ...

Detailed explanation of nginx installation, deployment and usage on Linux

Table of contents 1. Download 2. Deployment 3. Ng...

MySQL 8.0.13 installation and configuration tutorial under CentOS7.3

1. Basic Environment 1. Operating system: CentOS ...

MySQL 8.0.12 Simple Installation Tutorial

This article shares the installation tutorial of ...

Several methods of implementing carousel images in JS

Carousel The main idea is: In the large container...

Detailed process of upgrading glibc dynamic library in centos 6.9

glibc is the libc library released by gnu, that i...

A brief analysis of CSS3 using text-overflow to solve text layout problems

Basic syntax The use of text-overflow requires th...

jQuery implements the mouse drag image function

This example uses jQuery to implement a mouse dra...

How to install mysql6 initialization installation password under centos7

1. Stop the database server first service mysqld ...