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 居中漂浮广告
Mar 21 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
Dec 10 Javascript
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
Dec 12 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
Jun 12 Javascript
基于jQuery滑动杆实现购买日期选择效果
Sep 15 Javascript
JS查找英文文章中出现频率最高的单词
Mar 20 Javascript
AngularJS中scope的绑定策略实例分析
Oct 30 Javascript
AngularJS实现的简单拖拽功能示例
Jan 02 Javascript
Vue中computed与methods的区别详解
Mar 24 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
Sep 04 jQuery
微信小程序http连接访问解决方案的示例
Nov 05 Javascript
Vue 中使用lodash对事件进行防抖和节流操作
Jul 26 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
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
2006/12/06 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
PHP内核学习教程之php opcode内核实现
2016/01/27 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
2016/05/19 PHP
用正则获取指定路径文件的名称
2007/02/27 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
jQuery中click事件的定义和用法
2014/12/20 Javascript
jQuery基础知识小结
2014/12/22 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
Bootstrap3制作自己的导航栏
2016/05/12 Javascript
JavaScript常用判断写法大全(推荐)
2016/05/30 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
2016/11/13 Javascript
3种vue组件的书写形式
2017/11/29 Javascript
js Element Traversal规范中的元素遍历方法
2018/04/19 Javascript
JS实现的简单下拉框联动功能示例
2018/05/11 Javascript
angularJS开发注意事项
2018/05/26 Javascript
Vue2.x通用编辑组件的封装及应用详解
2019/05/28 Javascript
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
Vue 图片压缩并上传至服务器功能
2020/01/15 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
2020/08/10 Javascript
Python抓取手机号归属地信息示例代码
2016/11/28 Python
Python列表和元组的定义与使用操作示例
2017/07/26 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
如何通过雪花算法用Python实现一个简单的发号器
2019/07/03 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
python中怎么表示空值
2020/06/19 Python
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
2020/07/20 HTML / CSS
印度最大的旅游网站:MakeMyTrip
2016/10/05 全球购物
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
阳光体育活动方案
2014/02/16 职场文书
优秀大学生职业生涯规划书
2014/02/27 职场文书
学习之星事迹材料
2014/05/17 职场文书
激励口号大全
2014/06/17 职场文书
学期个人工作总结
2015/02/13 职场文书
springboot使用Redis作缓存使用入门教程
2021/07/25 Redis
深入理解mysql事务隔离级别和存储引擎
2022/04/12 MySQL