Home  >  Article  >  Web Front-end  >  How to implement communication in vue2.0?

How to implement communication in vue2.0?

亚连
亚连Original
2018-06-11 17:39:331657browse

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;

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>

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>

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>

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!

Statement:
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