Vue 兄弟组件通过事件广播传递数据
非父子组件传值
通过事件广播实现非父子组件传值
1.新建js,引入并实例化Vue
import Vue from 'vue'
var VueEvent = new Vue();
export default VueEvent;
2.子组件A中引入VueEvent,并广播事件
import VueEvent from '../model/VueEvent.js'
VueEvent.$emit('to-news',this.msg);
3.子组件B中引入VueEvent,并监听事件
import VueEvent from '../model/VueEvent.js'
VueEvent.$on('to-news',data=>{console.log(data);});
示例代码
import Vue from 'vue' var VueEvent = new Vue(); export default VueEvent;
<template>
<div id="home">
<button @click="sendMsg()">我来触发事件</button>
</div>
</template>
<script>
import VueEvent from "../models/VueEvent.js";
export default {
data() {
return {
msg: "我是Home的msg"
};
},
methods: {
sendMsg() {
VueEvent.$emit("tonews", this.msg);
}
}
};
</script>
<style>
</style>
<template>
<div id="news">
我来接受事件--{{msg}}
</div>
</template>
<script>
import VueEvent from "../models/VueEvent.js";
export default {
data() {
return {
msg: "我是News的msg"
};
},
mounted() {
VueEvent.$on("tonews", res => {
this.msg = res;
});
}
};
</script>
<style>
</style>
<template>
<div id="app">
<v-home></v-home>
<hr />
<v-news></v-news>
</div>
</template> <script>
import Home from "./components/Home.vue";
import News from "./components/News.vue";
export default {
name: "app",
data() {
return {
msg: "Welcome to Your Vue.js App"
};
},
components: {
"v-home": Home,
"v-news": News
}
};
</script> <style lang="scss">
</style>
Vue 兄弟组件通过事件广播传递数据的更多相关文章
- vue兄弟组件传值——事件总线
1.创建一个js文件,例如msg.js,放到合适位置,例如components中,或者其他位置也行.然后在兄弟两个组件中分别引入msg.js文件 msg.js: import Vue from 'vu ...
- vue兄弟组件传递数据
在main.js里面设置data{eventHub:new Vue() } new Vue({ el: '#app', router, store, template: '<App/>', ...
- Vue 兄弟组件之间传递数值
Vue 兄弟组件之间传值 创建一个公用文件夹,在文件夹中设置一个事件处理中心,即 然后在需要设置值的组件中引入该事件处理中心 import Hub from '../../common/eventHu ...
- Vue 兄弟组件通信(不使用Vuex)
Vue 兄弟组件通信(不使用Vuex) 项目中,我们经常会遇到兄弟组件通信的情况.在大型项目中我们可以通过引入vuex轻松管理各组件之间通信问题,但在一些小型的项目中,我们就没有必要去引入vuex.下 ...
- Vue兄弟组件通信
Vue兄弟组件通信之借助中央事件总线 下载链接:https://www.yinxiangit.com 其实要实现兄弟组件通信,就算是通过父子组件通信的方式也是可以达到的,如 子 ——>父——&g ...
- JavaScript 绑定事件时传递数据
var data = { name: 'Ruchee', email: 'my@ruchee.com' }; data.handleEvent = function (e) { console.log ...
- vue 兄弟组件之间的传值
一. 子传父,父传子. 二. 1.兄弟之间传递数据需要借助于事件车,通过事件车的方式传递数据 2.创建一个Vue的实例,让各个兄弟共用同一个事件机制. 3.传递数据方,通过一个事件触发bus.$emi ...
- 关于Vue 兄弟组件通信
最近项目中遇到希望在操作路由组件里面内容的时候可以影响共用组件Header组件(这个其实就是他的兄弟组件)的操作. 意思就是 router-view指向的router来影响Header组件的信息 首 ...
- Vue兄弟组件(非父子组件)状态共享与传值
前言:网上大部分文章写的有点乱,很少有讲得易懂的文章. 所以,我写了篇在我能看得懂的基础上又照顾到大家的文章 =.= 作者:X1aoYE 备注:此文原创,转载请注明~ 内容里的<br> ...
随机推荐
- 华为公司内部培训资料_介绍RTSP的消息、信令等
https://wenku.baidu.com/view/b10415dabd64783e08122b9c.html
- 【转】使用Badboy录制脚本,作为JMeter测试的素材
接触Badboy,是因为JMeter要引用Badboy导出的脚本 Badboy的录制提供两个模式:Request(默认模式) 和navigation模式.点击下图N,切换模式:但是要导出到Jmeter ...
- verilog 之语法学习
1.使用非基数表示的十进制视为有符号数.使用基数表示的十进制被视为无符号数. 2.线网中的值被解释为无符号数,整型寄存器中的值被解释为有符号的二进制补码数,. 3.如果选择表达式的值为 x.z,或越界 ...
- Debug 的使用
R 命令:查看.修改寄存器的内容 -r:查看寄存器的内容 CS=0AF9,IP=0100,也就是说内存 0AF9:0100 处的指令为 CPU 当前要读取.执行的指令 Debug 也列出了 CS:IP ...
- Open XML 检索 EXCEL
1.Excel 隐藏行判断 项目的 Hidden 属性不为 null,且 Hidden 属性的值为 True var itemList = ws.Descendants<Row>(). W ...
- 开启mysql远程访问
一.登陆mysql以后执行以下命令: GRANT ALL ON *.* TO username@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; FLUS ...
- KinderEditor编辑器 在Asp.Net中的使用
KinderEditor编辑器的使用 分为简单的三步. 1:添加引用部分 <script src="/KinderEditor/kindeditor-min.js">& ...
- Python基础学习四 列表、元组、字典、集合
列表list,用中括号“[ ]”表示 1.任意对象的有序集合 列表是一组任意类型的值,按照一定顺序组合而成的 2.通过偏移读取 组成列表的值叫做元素(Elements).每一个元素被标识一个索引,第一 ...
- JavaScript 18岁生日快乐
12月4日是JS的18岁生日,18年前这个日子JavaScript由Netscape和Sun联合宣布推出.那个星期,Ruby也将推出其第一个版本. 今天Netscape和Sun都已经不在了,但是JS还 ...
- nand中间出现坏块,无法正常启动内…
我板子的启动过程如下: ..showlogo.. Flash: 1 MB NAND: SLC detected.256 MB In: serial Out: serial ...