溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue2.0中怎么實現兄弟組件通訊

發布時間:2021-07-09 14:43:40 來源:億速云 閱讀:139 作者:Leah 欄目:web開發

這篇文章將為大家詳細講解有關vue2.0中怎么實現兄弟組件通訊,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

1、前戲吧

vue2.0中怎么實現兄弟組件通訊 

個人理解:

這明顯是生活中弟弟打電話哥哥一樣,雙方都需要手機,需要信號發射塔。

  • 弟弟 => A組件

  • 哥哥 => B組件

  • 弟弟的手機 => $emit發送數據

  • 哥哥的手機 => $on監聽并接收數據

  • 信號發射塔 => 中間事件線

  • App.vue => 不用說都知道是地球

2、 代碼

2.1、在src/asstes下新建中間事件線ligature .js (注意后綴.js)

import Vue from 'Vue'
export default new Vue;

2.2、在src/components新建A.vue

<template>
 <div>
 <h3>A組件</h3>
 <button v-on:click="spot">點一下就傳</button>
 </div>
</template>
<script>
 import bus from '../assets/ligature';
 export default {
 methods: {
 spot: function() {
 //監聽A組件中的spot,并發送數據
 bus.$emit("spot", ' 沒想到吧??!我是A組件')
 }
 }
 }
</script>

2.3、在src/components新建B.vue

<template>
 <div>
 <h3>B組件</h3>
 <p>結果:{{msg}}</p>
 </div>
</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>

2.4、修改App.vue (地球),注冊這兩個組件,并添加這兩個組件的標簽

<template>
 <div id="app">
 <A/>
 <hr>
 <B/>
 </div>
</template>
<script>
import A from './components/A'
import B from './components/B'
export default {
 name: 'App',
 components: {
 A,
 B
 }
}
</script>

關于vue2.0中怎么實現兄弟組件通訊就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女