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 相关文章推荐
js变量作用域及可访问性的探讨
Nov 23 Javascript
javascript的replace方法结合正则使用实例总结
Jun 16 Javascript
Javascript类型系统之String字符串类型详解
Jun 21 Javascript
Vue数据驱动模拟实现3
Jan 11 Javascript
Three.js利用顶点绘制立方体的方法详解
Sep 27 Javascript
对angularJs中自定义指令replace的属性详解
Oct 09 Javascript
vue项目前端埋点的实现
Mar 06 Javascript
JS document内容及样式操作完整示例
Jan 14 Javascript
angula中使用iframe点击后不执行变更检测的问题
May 10 Javascript
echarts 使用formatter 修改鼠标悬浮事件信息操作
Jul 20 Javascript
js实现圆形菜单选择器
Dec 03 Javascript
node.js 基于 STMP 协议和 EWS 协议发送邮件
Feb 14 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
了解咖啡雨林联盟认证 什么是雨林认证 雨林认证是什么意思
2021/03/05 新手入门
第一节--面向对象编程
2006/11/16 PHP
php创建sprite
2014/02/11 PHP
PHP使用feof()函数读文件的方法
2014/11/07 PHP
php实现的rc4加密解密类定义与用法示例
2018/08/16 PHP
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
JSON传递bool类型数据的处理方式介绍
2013/09/18 Javascript
使用JS读秒使用示例
2013/09/21 Javascript
JavaScript实现同一页面内两个表单互相传值的方法
2015/08/12 Javascript
jQuery实现的背景动态变化导航菜单效果
2015/08/24 Javascript
基于JS实现弹出一个隐藏的div窗口body页面变成灰色并且不可被编辑
2016/12/14 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
JavaScript创建对象的七种方式(推荐)
2017/06/26 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
微信小程序 自定义弹窗实现过程(附代码)
2019/12/05 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
python实现栅栏加解密 支持密钥加密
2019/03/20 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
python实现ftp文件传输功能
2020/03/20 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
2020/09/20 Python
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
柏林通行证:Berlin Pass
2018/04/11 全球购物
Volcom英国官方商店:美国殿堂级滑板、冲浪、滑雪服装品牌
2019/03/13 全球购物
爱国主义教育活动总结
2014/05/07 职场文书
新学期开学演讲稿
2014/05/24 职场文书
巴西世界杯32强口号
2014/06/05 职场文书
销售人员工作自我评价
2014/09/21 职场文书
工厂员工辞职信范文
2015/05/12 职场文书
MySQL 1130异常,无法远程登录解决方案详解
2021/08/23 MySQL
Apache Hudi集成Spark SQL操作hide表
2022/03/31 Servers
使用Python解决图表与画布的间距问题
2022/04/11 Python
开发微信小程序之WXSS样式教程
2022/04/18 HTML / CSS