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一般方法改写成面向对象方法的无限级折叠菜单示例代码
Jul 04 Javascript
jquery制作居中遮罩层效果分享
Feb 21 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
Apr 03 Javascript
JavaScript的类型、值和变量小结
Jul 09 Javascript
Vue.JS入门教程之处理表单
Dec 01 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
Mar 17 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
Jul 17 jQuery
SeaJS中use函数用法实例分析
Oct 10 Javascript
Vue-cli 使用json server在本地模拟请求数据的示例代码
Nov 02 Javascript
对angular4子路由&amp;辅助路由详解
Oct 09 Javascript
微信小程序开发搜索功能实现(前端+后端+数据库)
Mar 04 Javascript
JavaScript函数重载操作实例浅析
May 02 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在字符串中查找指定字符串并删除的代码
2008/10/02 PHP
PHP日期时间函数的高级应用技巧
2009/05/16 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
漂亮的widgets,支持换肤和后期开发新皮肤
2007/04/23 Javascript
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
javascript类型转换示例
2014/04/29 Javascript
js判断文本框剩余可输入字数的方法
2015/02/04 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
jquery插件Jplayer使用方法简析
2016/04/22 Javascript
AngularJS ng-change 指令的详解及简单实例
2016/07/30 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
2016/08/05 Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
2017/01/05 Javascript
JS 判断某变量是否为某数组中的一个值的3种方法(总结)
2017/07/10 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
将Vue组件库更换为按需加载的方法步骤
2020/05/06 Javascript
[00:33]2016完美“圣”典风云人物:BurNIng宣传片
2016/12/10 DOTA
使用Python的PEAK来适配协议的教程
2015/04/14 Python
浅谈scrapy 的基本命令介绍
2017/06/13 Python
你真的了解Python的random模块吗?
2017/12/12 Python
Python代码实现KNN算法
2017/12/20 Python
python机器学习理论与实战(一)K近邻法
2021/01/28 Python
Python模块的加载讲解
2019/01/15 Python
什么是python的函数体
2020/06/19 Python
导致python中import错误的原因是什么
2020/07/01 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
TIME时代杂志台湾总代理:台时亚洲
2018/10/22 全球购物
全球性的奢侈品梦工厂:Forzieri(福喜利)
2019/02/20 全球购物
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
建筑工程毕业生自我鉴定
2014/01/14 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
党员批评与自我批评发言稿
2014/10/14 职场文书
入党群众意见范文
2015/06/02 职场文书
红与黑读书笔记
2015/06/29 职场文书
大学生如何逃脱“毕业季创业队即散伙”魔咒?
2019/08/19 职场文书
python绘制云雨图raincloud plot
2022/08/05 Python