美文网首页
15、Vue 兄子组件之间的广播通信

15、Vue 兄子组件之间的广播通信

作者: msqt | 来源:发表于2019-03-07 17:18 被阅读0次
image.png

步骤:
1、创建一个新的js文件。
2、引入一个空的VUE实例(新的js文件中)。
import Vue from 'vue'//引入vue实例
3、实例化引入的空实例(新的js文件中)。
let VueEvent=new Vue();
4、将VueEvent暴露出去(新的js文件中)。
export default VueEvent;


image.png

5、再发送端和接收端均引入之前实例化的空Vue实例。


image.png

6、痛快地发送与接收:


image.png

代码:

App.vue:


<template>
<div id="app">
<v-home></v-home>






<v-news></v-news>
<router-view/>
</div>
</template>

<script>
import Home from './components/Home.vue';
import News from './components/News.vue';
export default {
name: 'App',
data (){
return{
msg:'你好!',
}
},
methods:{

},
components:{
  'v-home':Home,
  'v-news':News,
}

}
</script>

<style>

app {

font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
color: #2c3e50;
margin-top: 60px;
}
</style>

VueEvent.js:
import Vue from 'vue'//引入vue实例
let VueEvent=new Vue();
export default VueEvent;

Home.vue:
<template>
<div>
<h2>我是一个首页组件</h2>
<button @click="EmitNews()">给News组件广播数据</button>
</div>
</template>


<script>
import VueEvent from '../model/VueEvent.js';
export default {
name: "home",
data(){
return {
msg:'首页组件',
title:123,
}
},
methods:{
EmitNews(){//给News组件广播数据
VueEvent.emit('to_news',this.msg); } }, mounted(){ VueEvent.on('to_home',(data)=>{
alert(data)
})
}
}
</script>

<style scoped lang="scss">
h2{
color:red;
}
</style>

News.vue:
<template>
<div>
<h2>我是一个新闻组件</h2>
<button @click="EmitHome()">给Home组件广播数据</button>
</div>
</template>

<script>
import VueEvent from '../model/VueEvent.js';
export default {
name: "news",
data(){
return {
msg:'新闻组件',
}
},
methods:{
EmitHome(){
VueEvent.emit('to_home',this.msg); } }, mounted(){ VueEvent.on('to_news',(data)=>{
alert(data)
})
}
}

</script>

<style scoped>

</style>

相关文章

  • 15、Vue 兄子组件之间的广播通信

    步骤:1、创建一个新的js文件。2、引入一个空的VUE实例(新的js文件中)。import Vue from 'v...

  • vue组件之间通信

    vue 组件之间通信 vue组件之间通信方式: 1.父组件通过props向下传数据给子组件,子组件通过$emit事...

  • 老生常谈——vue组件之间通信

    老生常谈的组件之间通信 vue组件之间的通信细分为三种情况:兄弟组件之间的通信,父组件向子组件传递数据,子组件向父...

  • Vue 组件 / 通信

    子组件=》父组件 vue的组件之间的通信类似angular的父子层级之间通信,父组件获取子组件数据步骤大概如下: ...

  • Vue.js基础(二)

    1. 组件之间的通信 向子组件中传递 number=99 子组件a.vue中 执行效果 2. 组件之间的通信 - ...

  • Vue.js--组件通信

    vue组件之间的通信包括三种: 1.父组件向子组件通信 2.子组件向父组件通信 3.同级组件之间的通信 首先,看一...

  • vue Bus总线

    vue中我们经常遇到组件之间的通信,通常的通信方式有 父 → 子、子 → 父、兄弟组件 之间的通信。通常处理方式...

  • 2018.04月面试题

    vue相关: 1.组件之间的通信 父组件传给子组件用props子组件向父组件通信用$emit具体参照:https:...

  • Vue组件通信

    Vue 组件之间的通信,通常我们遇到的都是父子组件之间的通信 一、父子组件传参 子组件定义 Props 属性; 父...

  • vue父组件调用子组件的方法

    vue组件与组件通信有如下几种情况: 平行组件父组件与子组件子组件与父组件 它们之间通信有几种方法有: props...

网友评论

      本文标题:15、Vue 兄子组件之间的广播通信

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