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代码
Mar 05 Javascript
javascript 添加和移除函数的通用方法
Oct 20 Javascript
jquery 延迟执行实例介绍
Aug 20 Javascript
基于jquery插件实现常见的幻灯片效果
Nov 01 Javascript
js/jQuery简单实现选项卡功能
Jan 02 Javascript
JavaScript数组常用操作技巧汇总
Nov 17 Javascript
jquery带动画效果幻灯片特效代码
Aug 27 Javascript
基于jquery实现鼠标左右拖动滑块滑动附源码下载
Dec 23 Javascript
AngularJS基础 ng-model-options 指令简单示例
Aug 02 Javascript
详解vue 中使用 AJAX获取数据的方法
Jan 18 Javascript
Angularjs添加排序查询功能的实例代码
Oct 24 Javascript
JavaScript undefined及null区别实例解析
Jul 21 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中数组合并的两种方法及区别介绍
2012/09/14 PHP
深入理解PHP内核(二)之SAPI探究
2015/11/10 PHP
PHPStorm+XDebug进行调试图文教程
2016/06/13 PHP
Yii框架自定义数据库操作组件示例
2019/11/11 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
2020/04/26 PHP
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
2013/12/26 Javascript
js利用数组length属性清空和截短数组的小例子
2014/01/15 Javascript
jquery 字符串切割函数substring的用法说明
2014/02/11 Javascript
轻松创建nodejs服务器(1):一个简单nodejs服务器例子
2014/12/18 NodeJs
JavaScript 常见安全漏洞和自动化检测技术
2015/08/21 Javascript
第一篇初识bootstrap
2016/06/21 Javascript
vue.js实现请求数据的方法示例
2017/02/07 Javascript
jquery编写日期选择器
2017/03/16 Javascript
vue学习笔记之v-if和v-show的区别
2017/09/20 Javascript
React-Native左右联动List的示例代码
2017/09/21 Javascript
JavaScript实现简单的文本逐字打印效果示例
2018/04/12 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
Python字符串的encode与decode研究心得乱码问题解决方法
2009/03/23 Python
Python绘图Matplotlib之坐标轴及刻度总结
2019/06/28 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
使用Python开发个京东上抢口罩的小实例(仅作技术研究学习使用)
2020/03/10 Python
利用python在excel中画图的实现方法
2020/03/17 Python
keras 如何保存最佳的训练模型
2020/05/25 Python
Django QuerySet查询集原理及代码实例
2020/06/13 Python
Python Request类源码实现方法及原理解析
2020/08/17 Python
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
简述synchronized和java.util.concurrent.locks.Lock的异同
2014/12/08 面试题
打架检讨书100字
2014/01/08 职场文书
幼儿园春季开学通知
2015/07/16 职场文书
2015年成本会计工作总结
2015/10/14 职场文书
Python 处理表格进行成绩排序的操作代码
2021/07/26 Python
python 标准库原理与用法详解之os.path篇
2021/10/24 Python
python 中的jieba分词库
2021/11/23 Python
分享Python异步爬取知乎热榜
2022/04/12 Python
React自定义hook的方法
2022/06/25 Javascript