vue实现父子组件之间的通信以及兄弟组件的通信功能示例


Posted in Javascript onJanuary 29, 2019

本文实例讲述了vue实现父子组件之间的通信以及兄弟组件的通信功能。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>3water.com vue父子组件通信、兄弟组件通信</title>
  <style>
    *{
      margin: 0;
      padding: 0;
      list-style: none;
    }
    table{
      text-align: center;
      margin:0 auto;
    }
    div{
      text-align: center;
    }
  </style>
</head>
<body>
  <div id="app">
    <table border="1" cellpadding="0" cellspacing="0">
      <tr><td colspan="3">父组件数据</td></tr>
      <tr><td>name</td><td>{{name}}{{ff()}}</td><td><input type="text" v-model="name"></td></tr>
      <tr><td>age</td><td>{{age}}{{ff()}}</td><td><input type="text" v-model="age"></td></tr>
    </table>
    <v-son :son-name="name" :son-age="age" @sza="gg"></v-son>
  </div>
  <template id="son">
    <div>
      <button @click="sonChange">子组件按钮</button>
      <table border="1" cellpadding="0" cellspacing="0">
        <tr><td colspan="3">子组件数据</td></tr>
        <tr><td>name</td><td>{{sonName}}</td><td><input type="text" v-model="sonName"></td></tr>
        <tr><td>age</td><td>{{sonAge}}</td><td><input type="text" v-model="sonAge"></td></tr>
      </table>
      <g-son :g-name="sonName" :g-age="sonAge"></g-son>
    </div>
  </template>
  <template id="vgson">
    <div>
      <button @click="gchan">孙子组件按钮</button>
      <table border="1" cellpadding="0" cellspacing="0">
        <tr><td colspan="3">孙子组件数据</td></tr>
        <tr><td>name</td><td>{{gName}}</td><td><input type="text" v-model="gName"></td></tr>
        <tr><td>age</td><td>{{gAge}}</td><td><input type="text" v-model="gAge"></td></tr>
      </table>
    </div>
  </template>
</body>
<script src="https://cdn.bootcss.com/vue/2.4.4/vue.min.js"></script>
<script>
  var bus=new Vue();
const app=new Vue({
  el:"#app",
  data:{
    name:"keep",
    age:"28"
  },
  methods:{
   gg(val1,val2){
     this.name=val1
     this.age=val2
   },
    ff(){
      bus.$on("suibian", (val1,val2)=> {
        this.name=val1;
        this.age=val2
      })
    }
  },
  components:{
    "vSon":{
      template:"#son",
      methods:{
       sonChange(){
         this.$emit("sza",this.sonName,this.sonAge)
       }
      },
      props:["sonName","sonAge"],
      components:{
        "gSon":{
          template:"#vgson",
          props:["gName","gAge"],
          methods:{
            gchan(){
              bus.$emit("suibian",this.gName,this.gAge);
            },
        }
        }
      },
    }
  }
})
</script>
</html>

这里使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码,可得如下运行效果:

vue实现父子组件之间的通信以及兄弟组件的通信功能示例

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
基于jquery的图片轮播 tab切换组件
Jul 19 Javascript
jQuery中click事件的定义和用法
Dec 20 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
Dec 25 Javascript
全面解析bootstrap格子布局
May 22 Javascript
JavaScript利用Date实现简单的倒计时实例
Jan 12 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
Jan 22 Javascript
使用Browserify来实现CommonJS的浏览器加载方法
May 14 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
Aug 22 Javascript
JavaScript封装的常用工具类库bee.js用法详解【经典类库】
Sep 03 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
Oct 09 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
Apr 25 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
Nov 05 Javascript
vue实现的下拉框功能示例
Jan 29 #Javascript
angular4中引入echarts的方法示例
Jan 29 #Javascript
微信小程序实现炫酷的弹出式菜单特效
Jan 28 #Javascript
微信小程序实现页面浮动导航
Jan 28 #Javascript
微信小程序顶部导航栏滑动tab效果
Jan 28 #Javascript
详解基于node.js的脚手架工具开发经历
Jan 28 #Javascript
微信小程序实现顶部导航特效
Jan 28 #Javascript
You might like
memcached 和 mysql 主从环境下php开发代码详解
2010/05/16 PHP
php中动态调用函数的方法
2015/03/16 PHP
详解PHP序列化反序列化的方法
2015/10/27 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
2019/05/09 PHP
学习ExtJS table布局
2009/10/08 Javascript
基于jquery的给文章加入关键字链接
2010/10/26 Javascript
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
JS清除IE浏览器缓存的方法
2013/07/26 Javascript
JS 如何获取radio选中后的值及不选择取radio的值
2013/10/28 Javascript
鼠标经过tr时,改变tr当前背景颜色
2014/01/13 Javascript
Jquery获取和修改img的src值的方法
2014/02/17 Javascript
setinterval()与clearInterval()JS函数的调用方法
2015/01/21 Javascript
javascript消除window.close()的提示窗口
2015/05/20 Javascript
JavaScript的Date()方法使用详解
2015/06/09 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
2019/04/08 Javascript
vue draggable resizable 实现可拖拽缩放的组件功能
2019/07/15 Javascript
BootstrapValidator实现表单验证功能
2019/11/08 Javascript
python使用socket进行简单网络连接的方法
2015/04/29 Python
python清除字符串里非字母字符的方法
2015/07/02 Python
Python中list列表的一些进阶使用方法介绍
2015/08/15 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
2021/01/28 Python
Sandro法国官网:法国成衣品牌
2019/08/28 全球购物
《春晓》教学反思
2014/04/20 职场文书
住房租房协议书
2014/08/20 职场文书
陕西导游词
2015/02/04 职场文书
酒店办公室主任岗位职责
2015/04/01 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书
python实现三次密码验证的示例
2021/04/29 Python
Canvas绘制像素风图片的示例代码
2021/09/25 HTML / CSS
Python简易开发之制作计算器
2022/04/28 Python
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers