/*非父子组件传值
1、新建一个js文件 然后引入vue 实例化vue 最后暴露这个实例

2、在要广播的地方引入刚才定义的实例

3、通过 VueEmit.$emit('名称','数据')

4、在接收收数据的地方通过 $om接收广播的数据
VueEmit.$on('名称',function(){

})

*/

VueEvent.js

 import Vue from 'vue';

 var VueEvent = new Vue()

 export default VueEvent;

News.vue

 <template>
<div id="news"> 我是新闻组件
<br> <button @click="emitHome()">给Home组件广播数据</button> <br>
</div> </template> <script>
//引入 vue实例
import VueEvent from '../model/VueEvent.js'; export default{
data(){
return {
msg:'我是一个新闻组件'
}
},
methods:{
emitHome(){ //广播 VueEvent.$emit('to-home',this.msg)
} },
mounted(){ VueEvent.$on('to-news',function(data){
console.log(data);
})
} } </script> <style lang="scss" scoped> </style>

Home.vue

 <template>
<!-- 所有的内容要被根节点包含起来 -->
<div id="home"> 我是首页组件 <br> <button @click="emitNews()">给News组件广播数据</button> <br> </div> </template> <script> //引入 vue实例 import VueEvent from '../model/VueEvent.js'; export default{
data(){
return {
msg:'我是一个home组件',
title:'首页111'
}
},methods:{ emitNews(){
//广播数据 VueEvent.$emit('to-news',this.msg) }
},
mounted(){ //监听news 广播的数据
VueEvent.$on('to-home',function(data){
console.log(data);
})
} } </script> <style lang="scss" scoped> </style>

最新文章

  1. 解决UC浏览器或微信浏览器上flex兼容问题
  2. Jtable 表格按多列排序(支持中文汉字排序)
  3. hihoCoder太阁最新面经算法竞赛19
  4. android 点亮屏幕与锁定屏幕
  5. Servlet概述及其生命周期
  6. dojo 资源库
  7. [AngularJS] Hijacking Existing HTML Attributes with Angular Directives
  8. 关于github在mac 10.10上无法提交代码的解决办法---备用
  9. 29. Divide Two Integers
  10. (转)C++笔记:面向对象编程基础
  11. [VBS]_[活动分组程序]
  12. Graphviz 绘制流程图
  13. 浏览器扩展系列————给MSTHML添加内置脚本对象【包括自定义事件】
  14. java类加载时执行顺序
  15. C++ STL容器总结
  16. springboot+mybatis+dubbo+aop日志第二篇
  17. Python链接Oracle数据库
  18. ConcurrentDictionary
  19. C# 关键字this用法
  20. 08 - JavaSE之IO流

热门文章

  1. MySQL安装步骤详解
  2. drone 1.0 新的构建徽章特性
  3. drone 1.0 新功能试用以及说明
  4. IBM websphere MQ使用说明
  5. [Hi3520DV200]烧录
  6. js 数字数组按大小排序
  7. JQury基础(一)样式篇
  8. maven 内置变量
  9. pip报错解决:EnvironmentError: mysql_config not found
  10. SqlServer语句