Home > Web Front-end > JS Tutorial > body text

How to implement communication in vue2.0?

亚连
Release: 2018-06-11 17:39:33
Original
1674 people have browsed it

This article mainly introduces the implementation code of vue2.0 sibling component (peer level) communication. It is very good and has reference value. Friends in need can refer to it

##1 , Foreplay

Let’s take a look at the first two articles:

Parent component is passed to child component

Sub component is passed to parent component

Look at the picture, look at the picture, look at the picture! ! !

Personal understanding:

This is obviously like the younger brother calling the older brother in life. Both parties need mobile phones and signal transmission towers.

  • Brother=> A component

  • Brother=> B component

  • Brother’s Mobile phone => $emit sends data

  • ##Brother’s mobile phone=> $on monitors and receives data
  • Signal transmitting tower=> Intermediate event line
  • App.vue => Needless to say, everyone knows that it is the earth

2. Code2.1. Create a new intermediate event line ligature .js under src/asstes (note the suffix .js)

import Vue from 'Vue'
export default new Vue;
Copy after login

2.2. Create a new A.vue

under src/components
<template>
 <p>
 <h2>A组件</h2>
 <button v-on:click="spot">点一下就传</button>
 </p>
</template>
<script>
 import bus from &#39;../assets/ligature&#39;;
 export default {
 methods: {
 spot: function() {
 //监听A组件中的spot,并发送数据
 bus.$emit("spot", &#39; 没想到吧!!我是A组件&#39;)
 }
 }
 }
</script>
Copy after login

2.3. Create a new B.vue

<template>
 <p>
 <h2>B组件</h2>
 <p>结果:{{msg}}</p>
 </p>
</template>
<script>
 import bus from "../assets/ligature";
 export default {
 data() {
 return {
 msg: "这TMD是默认值除非你点一下上面的按钮"
 };
 },
 mounted() {
 var _this = this;
 //监听A组件中的spot,并接受数据
 bus.$on("spot", function(msg) {
 _this.msg = msg;
 });
 }
 };
</script>
<style>
p{
 font-size: 20px;
 color: darkcyan;
}
</style>
Copy after login

in src/components 2.4. Modify App.vue (Earth), register these two components, and add the labels of these two components

<template>
 <p id="app">
 <A/>
 <hr>
 <B/>
 </p>
</template>
<script>
import A from &#39;./components/A&#39;
import B from &#39;./components/B&#39;
export default {
 name: &#39;App&#39;,
 components: {
 A,
 B
 }
}
</script>
Copy after login

3. Effect

The above is what I compiled for everyone. I hope it will be helpful to everyone in the future.

Related articles:

How to turn off the caching function of Vue calculated properties. What are the specific steps?

How to solve the problem that the selected value does not change after vue changes the calculated attribute. The specific operations are as follows

How to solve the select drop-down box option of iview The problem of misalignment, the specific operations are as follows

How to implement the select drop-down list through Vue.js, the specific operations are as follows

Details on React component performance optimization Explain

How to use vue to crop images while enlarging, reducing, and rotating functions (detailed tutorial)

The above is the detailed content of How to implement communication in vue2.0?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
vue
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!