Vue 父子组件、组件间通信


Posted in Javascript onMarch 08, 2017

本人对Vue组件间通信不懂,搜索了很多关于Vue 父子组件间通信介绍,下面我来记录一下,有需要了解Vue 父子组件、组件间通信的朋友可参考。希望此文章对各位有所帮助。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>组件</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black">
  <script src="../js/Vue.js"></script>
  <script>
    window.onload = function(){
      var vm = new Vue({
        el:'#box',
        data:{},
        components:{
          aaa:{
            template:'<h2>这是aaa组件<bbb></bbb></h2>',
            components:{
              bbb:{
                template:'<h2>这是bbb组件</h2>'
              }
            }
          }
        }
      });
    }
  </script>
</head>
<body>
<div id="box">
  <aaa></aaa>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script src="../js/vue1.0.js"></script>
  <script>
    //子组件获取父组件的值
    window.onload = function () {
      var vm = new Vue({
        el: '#box',
        data: {
          a: 'aaa'
        },
        components: {
          'aaa': {
            data(){
              return {
                msg: 111,
                msg2: '这是父组件的数据'
              }
            },
            template: '#aaa',
            components: {
              'bbb': {
                //html中的my-msg这种形式,js中应该采用驼峰命名myMsg
                props: ['mmm', 'myMsg'],
                template: '<h3>我是bbb组件->{{mmm}}<br>{{myMsg}}</h3>'
              }
            }
          }
        }
      });
    }
  </script>
</head>
<body>
<div id="box">
  <aaa>
  </aaa>
</div>

<template id="aaa">
  <h1>11111</h1>
  <bbb :mmm="msg2" :my-msg="msg"></bbb>
</template>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script src="../js/vue1.0.js"></script>
  <script>
    //子组件获取父组件的值
    window.onload = function () {
      var vm = new Vue({
        el: '#box',
        data: {
          a: 'aaa'
        },
        components: {
          'aaa': {
            data(){
              return {
                msg: 111,
                msg2: '这是父组件的数据'
              }
            },
            template: '#aaa',
            components: {
              'bbb': {
                //html中的my-msg这种形式,js中应该采用驼峰命名myMsg
                props: ['mmm', 'myMsg'],
                template: '<h3>我是bbb组件->{{mmm}}<br>{{myMsg}}</h3>'
              }
            }
          }
        }
      });
    }
  </script>
</head>
<body>
<div id="box">
  <aaa>
  </aaa>
</div>

<template id="aaa">
  <h1>11111</h1>
  <bbb :mmm="msg2" :my-msg="msg"></bbb>
</template>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>父组件获取子组件的值</title>
  <script src="../js/vue1.0.js"></script>
  <script>
    //父组件获取子组件的值
    window.onload = function () {
      var vm = new Vue({
        el:'#box',
        data:{
          a:'aaa'
        },
        components:{
          'aaa':{
            data(){
              return {
                msg:111,
                msg2:'我是父组件的数据'
              }
            },
            template:'#aaa',
            methods:{
              get(msg){
                this.msg = msg;
              }
            },
            components:{
              'bbb':{
                data(){
                  return {
                    a:'我是子组件的数据'
                  }
                },
                template:'#bbb',
                methods:{
                  send(){
                    this.$emit('child-msg',this.a);
                  }
                }
              }
            }
          }
        }
      });
    }
  </script>
</head>
<body>
<div id="box">
  <aaa></aaa>
</div>
<template id="aaa">
  <span>我是父级 -》 {{msg}}</span>
  <bbb @child-msg="get"></bbb>
</template>
<template id="bbb">
  <h3>子组件</h3>
  <input type="button" value="send" @click="send" />
</template>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js实现ASP分页函数 HTML分页函数
Sep 22 Javascript
setInterval,setTimeout与jquery混用的问题
Apr 08 Javascript
javascript里绝对用的上的字符分割函数总结
Jul 31 Javascript
jQuery Checkbox 全选 反选的简单实例
Nov 29 Javascript
canvas学习之API整理笔记(二)
Dec 29 Javascript
react native带索引的城市列表组件的实例代码
Aug 08 Javascript
js canvas实现简单的图像扩散效果
Jun 28 Javascript
vue引入jq插件的实例讲解
Sep 12 Javascript
分分钟学会vue中vuex的应用(入门教程)
Sep 14 Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
Feb 11 Javascript
js实现同一个页面,多个enter事件绑定的示例
Oct 10 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
Apr 16 Javascript
jQuery的$.extend 浅拷贝与深拷贝
Mar 08 #Javascript
vue-resourse将json数据输出实例
Mar 08 #Javascript
微信小程序 下拉列表的实现实例代码
Mar 08 #Javascript
js实现五星评价功能
Mar 08 #Javascript
ionic2 tabs 图标自定义实例
Mar 08 #Javascript
微信小程序 弹窗自定义实例代码
Mar 08 #Javascript
jQuery实现图片滑动效果
Mar 08 #Javascript
You might like
用PHP查询域名状态whois的类
2006/11/25 PHP
php修改上传图片尺寸的方法
2015/04/14 PHP
php post json参数的传递和接收处理方法
2018/05/31 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
用Javascript 和 CSS 实现脚注(Footnote)效果
2009/09/09 Javascript
Date对象格式化函数代码
2010/07/17 Javascript
javascript 运算数的求值顺序
2011/08/23 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
2013/03/19 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
2013/07/09 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
2013/10/17 Javascript
JavaScript获得url查询参数的方法
2015/07/02 Javascript
跟我学习javascript的arguments对象
2015/11/16 Javascript
BootStrap Table前台和后台分页对JSON格式的要求
2017/06/28 Javascript
详解Vue 动态组件与全局事件绑定总结
2018/11/11 Javascript
vue-cli3 热更新配置操作
2020/09/18 Javascript
[58:54]EG vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
基于Python实现文件大小输出
2016/01/11 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
Python类的继承和多态代码详解
2017/12/27 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
2019/05/27 Python
python-pyinstaller、打包后获取路径的实例
2019/06/10 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
手机配件第一品牌:ZAGG
2017/05/28 全球购物
营销总经理的岗位职责
2013/12/15 职场文书
物流合作计划书
2014/01/10 职场文书
优秀部门获奖感言
2014/02/14 职场文书
五星级酒店餐饮部总监的标准岗位职责
2014/02/17 职场文书
2014年创卫实施方案
2014/02/18 职场文书
《石榴》教学反思
2014/03/02 职场文书
安全责任书范文
2014/03/12 职场文书
公关活动策划方案
2014/05/25 职场文书
2014年度考核工作总结
2014/12/24 职场文书
难以忽视的真相观后感
2015/06/05 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL