Vue.js中兄弟组件之间互相传值实例


Posted in Javascript onJune 01, 2017

兄弟组件之间互相传值,需要建立一个“中转站”(新的vue实例),并且需要主动触发。

实例上的$on方法来接受监听。

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>组件传值</title>
 <script src="vue.js"></script>
</head>
<body>
 <div id="box">
 <child1></child1>
 <child2></child2>
 </div>

 <template id="c1">
 <h1>~~~~~~我是哥哥~~~~{{msg}} <button @click='fn'>点击</button></h1>
 </template>
 <template id="c2">
 <h3>~~~~~~我是弟弟~~~~{{msg2}}</h3>
 </template>
</body>
</html>
<script>
 var Hub=new Vue();  // 1) 中转站,其中不需要设置任何参数

 var vm=new Vue({
 el: '#box',
 components:{
  child1:{
  template:'#c1',
  data:function(){
   return {
   msg: 'hello'
   }
  },
  methods:{
   fn:function(){
   // 2) 主动触发监听(中转站触发监听)
   console.log(this.msg); //hello
   Hub.$emit('change',this.msg) //$emit触发监听方法
   }
  }
  },
  child2:{
  template:'#c2',
  data:function(){
   return {
   msg2: 'world'
   }
  },
  // 创建完成  new Vue  create mount
  // 钩子函数
  created(){
   // 3) 接收监听  $on('事件名称',function(val){}) val是传递过来的值
   Hub.$on('change',function(val){
   console.log(val) //hello
   // this.msg2 = val;
   })
  }
  }
  
 }
 })
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
不用ajax实现点击文字即可编辑的方法
Dec 16 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
Nov 23 Javascript
jQuery中(function($){})(jQuery)详解
Jul 15 Javascript
Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)
Jul 14 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
Mar 14 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
Jun 21 Javascript
Angular实现的自定义模糊查询、排序及三角箭头标注功能示例
Dec 28 Javascript
浅谈Node 调试工具入门教程
Mar 20 Javascript
layui添加动态菜单与选项卡
Jul 26 Javascript
写给新手同学的vuex快速上手指北小结
Apr 14 Javascript
小程序实现图片移动缩放效果
May 26 Javascript
JavaScript位置参数实现原理及过程解析
Sep 14 Javascript
Vue.Draggable实现拖拽效果
Jul 29 #Javascript
JS请求servlet功能示例
Jun 01 #Javascript
vue.js加载新的内容(实例代码)
Jun 01 #Javascript
深入理解JavaScript创建对象的多种方式以及优缺点
Jun 01 #Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
Jun 01 #Javascript
详解Vue2.0里过滤器容易踩到的坑
Jun 01 #Javascript
Angularjs验证用户输入的字符串是否为日期时间
Jun 01 #Javascript
You might like
ThinkPHP3.2.2的插件控制器功能
2015/03/05 PHP
yii2缓存Caching基本用法示例
2016/07/18 PHP
Yii2实现增删改查后留在当前页的方法详解
2017/01/13 PHP
Laravel模糊查询区分大小写的实例
2019/09/29 PHP
php gethostbyname获取域名ip地址函数详解
2010/01/24 Javascript
javascript unicode与GBK2312(中文)编码转换方法
2013/11/14 Javascript
JS window对象的top、parent、opener含义介绍
2013/12/03 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
2016/08/24 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
JS中的模糊查询功能
2019/12/08 Javascript
vue 使用lodash实现对象数组深拷贝操作
2020/09/10 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
python实现清屏的方法
2015/04/30 Python
python中while循环语句用法简单实例
2015/05/07 Python
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
使用Python制作简单的小程序IP查看器功能
2019/04/16 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
python groupby 函数 as_index详解
2019/12/16 Python
python主要用于哪些方向
2020/07/05 Python
python PIL模块的基本使用
2020/09/29 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
阿联酋网上花店:Ferns N Petals
2018/02/14 全球购物
波兰最大的宠物用品网上商店:FERA.PL
2019/08/11 全球购物
Hammitt官网:设计师手袋
2020/05/23 全球购物
楼面经理岗位职责范本
2014/02/18 职场文书
优秀的导游求职信范文
2014/04/06 职场文书
感恩寄语大全
2014/04/11 职场文书
安全责任协议书
2014/04/21 职场文书
竞选学委演讲稿
2014/09/13 职场文书
管理失职检讨书
2015/05/05 职场文书
2015年工会工作总结范文
2015/07/23 职场文书
《从现在开始》教学反思
2016/02/16 职场文书
mysql自增长id用完了该怎么办
2022/02/12 MySQL