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 相关文章推荐
JavaScript 继承详解(三)
Jul 13 Javascript
JQuery开发的数独游戏代码
Oct 29 Javascript
javascript椭圆旋转相册实现代码
Jan 16 Javascript
基于jQuery创建鼠标悬停效果的方法
Mar 07 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
Oct 14 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
May 10 Javascript
防止重复发送 Ajax 请求
Feb 15 Javascript
在 Angular中 使用 Lodash 的方法
Feb 11 Javascript
js实现同一个页面,多个enter事件绑定的示例
Oct 10 Javascript
Node.js 的 GC 机制详解
Jun 03 Javascript
在Vue 中获取下拉框的文本及选项值操作
Aug 13 Javascript
原生Js 实现的简单无缝滚动轮播图的示例代码
May 10 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
php 动态多文件上传
2009/01/18 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
2014/06/12 PHP
使用PHP函数scandir排除特定目录
2014/06/12 PHP
php随机显示指定文件夹下图片的方法
2015/07/13 PHP
CakePHP框架Model函数定义方法示例
2017/08/04 PHP
javascript 有趣而诡异的数组
2009/04/06 Javascript
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
热点新闻滚动特效的js代码
2013/08/17 Javascript
JQuery性能优化的几点建议
2014/05/14 Javascript
javascript中eval和with用法实例总结
2015/11/30 Javascript
Javascript小技能总结(推荐)
2016/06/02 Javascript
原生js实现轮播图的示例代码
2017/02/20 Javascript
react-redux中connect()方法详细解析
2017/05/27 Javascript
基于LayUI分页和LayUI laypage分页的使用示例
2017/08/02 Javascript
JavaScript 五大常见函数
2018/03/23 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
微信小程序视图容器(swiper)组件创建轮播图
2020/06/19 Javascript
关于vue v-for循环解决img标签的src动态绑定问题
2018/09/18 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
用VsCode编辑TypeScript的实现方法
2020/05/07 Javascript
微信小程序实现点击页面出现文字
2020/09/21 Javascript
[15:39]教你分分钟做大人:龙骑士
2014/10/30 DOTA
[04:44]DOTA2西游记战队视频彩蛋流出 师徒开黑巧遇林书豪
2016/08/03 DOTA
Django框架下在视图中使用模版的方法
2015/07/16 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
2018/12/12 Python
Python JSON格式数据的提取和保存的实现
2019/03/22 Python
树莓派采用socket方式文件传输(python)
2019/06/22 Python
pycharm如何实现跨目录调用文件
2020/02/28 Python
会计专业毕业生自荐信范文
2013/12/20 职场文书
酒店管理毕业生自我鉴定
2014/03/02 职场文书
暑期政治学习心得体会
2014/09/02 职场文书
正风肃纪剖析材料范文
2014/10/10 职场文书
4S店收银员岗位职责
2015/04/07 职场文书
CSS3 制作的图片滚动效果
2021/04/14 HTML / CSS
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android
python全面解析接口返回数据
2022/02/12 Python