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判断只能输入数字、字母等验证的方法(总结)
May 14 Javascript
jQuery实现鼠标划过修改样式的方法
Apr 14 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
Feb 17 Javascript
详解JavaScript for循环中发送AJAX请求问题
Jun 23 Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
Jun 06 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
Aug 05 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
Oct 25 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
Mar 27 Javascript
JavaScript实现三级联动效果
Jul 15 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
Sep 12 Javascript
es6数据变更同步到视图层的方法
Mar 04 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
Aug 17 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+JS实现搜索自动提示(实例)
2013/06/09 PHP
PHP实现今天是星期几的几种写法
2013/09/26 PHP
php第一次无法获取cookie问题处理
2014/12/15 PHP
Node.js(安装,启动,测试)
2014/06/09 Javascript
分享20个提升网站界面体验的jQuery插件
2014/12/15 Javascript
JQuery报错Uncaught TypeError: Illegal invocation的处理方法
2015/03/13 Javascript
Js制作点击输入框时默认文字消失的效果
2015/09/05 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
Vue之Watcher源码解析(2)
2017/07/19 Javascript
详解基于node的前端项目编译时内存溢出问题
2017/08/01 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
2017/09/18 Javascript
微信小程序js文件改变参数并在视图上及时更新【推荐】
2018/06/11 Javascript
教你安装python Django(图文)
2013/11/04 Python
将图片文件嵌入到wxpython代码中的实现方法
2014/08/11 Python
Python实现在Linux系统下更改当前进程运行用户
2015/02/04 Python
python构建深度神经网络(续)
2018/03/10 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决
2018/04/23 Python
numpy.where() 用法详解
2019/05/27 Python
django 2.2和mysql使用的常见问题
2019/07/18 Python
Python OpenCV调用摄像头检测人脸并截图
2020/08/20 Python
python3 requests库文件上传与下载实现详解
2019/08/22 Python
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
HTML5+lufylegend实现游戏中的卷轴
2016/02/29 HTML / CSS
阿玛尼美国官方网站:Armani.com
2016/11/25 全球购物
加拿大建筑和装修专家:Reno-Depot
2017/12/21 全球购物
上课睡觉检讨书
2014/01/28 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
本科毕业论文导师评语
2014/12/31 职场文书
实名检举信范文
2015/03/02 职场文书
2015年话务员工作总结
2015/04/29 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
员工年度工作总结2015
2015/05/18 职场文书
大国崛起观后感
2015/06/02 职场文书
课改心得体会范文
2016/01/25 职场文书
Pytorch DataLoader shuffle验证方式
2021/06/02 Python