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 相关文章推荐
JQuery 表格操作(交替显示、拖动表格行、选择行等)
Jul 29 Javascript
基于jquery的仿百度的鼠标移入图片抖动效果
Sep 17 Javascript
jquery ui dialog ie8出现滚动条的解决方法
Dec 06 Javascript
一次失败的jQuery优化尝试小结
Feb 06 Javascript
js三种排序算法分享
Aug 16 Javascript
浅谈jQuery中setInterval()方法
Jul 07 Javascript
tab栏切换原理
Mar 22 Javascript
浅谈vue2 单页面如何设置网页title
Nov 08 Javascript
详解 vue better-scroll滚动插件排坑
Feb 08 Javascript
layui点击按钮页面会自动刷新的解决方案
Oct 25 Javascript
基于better-scroll 实现歌词联动功能的代码
May 07 Javascript
vue等两个接口都返回结果再执行下一步的实例
Sep 08 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
文章推荐系统(三)
2006/10/09 PHP
层叠菜单的动态生成
2006/10/09 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
php+ajax实现无刷新动态加载数据技术
2015/04/28 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
2016/10/25 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
JS 用6N±1法求素数 实例教程
2009/10/20 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
JS验证input输入框(字母,数字,符号,中文)
2017/03/23 Javascript
vue-cli项目修改文件热重载失效的解决方法
2018/09/19 Javascript
详解无限滚动插件vue-infinite-scroll源码解析
2019/05/12 Javascript
了解JavaScript中let语句
2019/05/30 Javascript
使用Python中的greenlet包实现并发编程的入门教程
2015/04/16 Python
Python中在for循环中嵌套使用if和else语句的技巧
2016/06/20 Python
python中range()与xrange()用法分析
2016/09/21 Python
python中嵌套函数的实操步骤
2019/02/27 Python
Python实现二叉树的最小深度的两种方法
2019/09/30 Python
python线程信号量semaphore使用解析
2019/11/30 Python
Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例
2020/03/14 Python
如何真正的了解python装饰器
2020/08/14 Python
CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
2014/10/11 HTML / CSS
巴黎卡诗加拿大官网:Kérastase加拿大
2018/11/12 全球购物
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
运动会开幕式邀请函
2014/01/22 职场文书
社区先进事迹材料
2014/05/19 职场文书
国际商贸专业自荐信
2014/06/09 职场文书
离婚起诉书范本
2015/05/18 职场文书
2016廉洁从业学习心得体会
2016/01/19 职场文书
2016年教师党员创先争优承诺书
2016/03/24 职场文书
八年级作文之友谊
2019/12/02 职场文书
pytorch finetuning 自己的图片进行训练操作
2021/06/05 Python
使用Python拟合函数曲线
2022/04/14 Python