vue组件父子间通信详解(三)


Posted in Javascript onNovember 07, 2017

本文实例为大家分享了vue组件父子间通信的具体代码,供大家参考,具体内容如下

三、组件间通信($parent $refs)

父组件要想获取子组件的数据:

①在调用子组件的时候,指定ref属性

<child-component ref="mySon"></child-component>

②根据指定的引用的名字 找到子组件的实例对象

this.$refs.mySon

子组件要想获取父组件的数据:

①直接读取
this.$parent
通过this.$refs拿到子组件的数据

代码:

<!doctype html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>组件间通信-01</title>
  <script src="js/vue.js"></script>
 </head>
 <body>
 <div id="container">
    <p>{{msg}}</p>
    <dahua></dahua>
  </div>
  <script>
  //vue提供的ref
    Vue.component("dahua",{
      data:function(){
        return{
          mySonName:""
        }
      },
      methods:{
      //通过$refs拿到指定的所引用的对应的组件的实例对象
        getSonName:function(){
          this.mySonName = this.$refs.mySon.name;
        }
      },
      template:`
        <div>
          <h1>这是父组件</h1>
          <button @click = "getSonName">获取子组件数据</button>
          <span>{{mySonName}}</span>
          <hr>
          <xiaohua ref="mySon"></xiaohua>
        </div>
      `
    })
//  创建子组件
    Vue.component("xiaohua",{
      data:function(){
        return{
          name:"小花"
        }
      },
      template:`
          <h1>这是子组件</h1>
      `
    })
    new Vue({
      el:"#container",
      data:{
        msg:"Hello VueJs"
      }
    })
  </script>
 </body>
</html>

子组件通过$parent获取父组件的数据

<!doctype html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>组件间通信-02</title>
  <script src="js/vue.js"></script>
 </head>
 <body>
 <div id="container">
    <p>{{msg}}</p>
    <dahua></dahua>
  </div>
  <script>
    //创建子组件
    Vue.component("dahua",{
      data:function(){
        return{
          myName:"大花"
        }
      },
      template:`
        <div>
          <h1>这是父组件</h1>
          <hr>
          <xiaohua></xiaohua>
        </div>
      `
    })
    //创建子组件
    Vue.component("xiaohua",{
      data:function(){
        return{
          msg:""
        }
      },
      template:`
        <div>
            <h1>这是子组件</h1>
            <p>{{msg}}</p>
        </div>
      `,
      created:function(){
        //在子组件创建完成时获取父组件的数据
        //保存在msg中在p标签中显示
          this.msg = this.$parent.myName;
      }
    })
    new Vue({
      el:"#container",
      data:{
        msg:"Hello VueJs"
      }
    })
  </script>
 </body>
</html>

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

Javascript 相关文章推荐
从Ajax到JQuery Ajax学习
Feb 14 Javascript
学习Javascript面向对象编程之封装
Feb 23 Javascript
原生JS查找元素的方法(推荐)
Nov 22 Javascript
JS实现页面内跳转的简单代码
Sep 03 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
Oct 31 Javascript
react 组件传值的三种方法
Jun 03 Javascript
深入了解JavaScript 的 WebAssembly
Jun 15 Javascript
vue.js实现照片放大功能
Jun 23 Javascript
vue 组件简介
Jul 31 Javascript
浅析JavaScript 函数柯里化
Sep 08 Javascript
分享8个JavaScript库可更好地处理本地存储
Oct 12 Javascript
JavaScript严格模式不支持八进制的问题讲解
Nov 07 Javascript
浅谈ES6 模板字符串的具体使用方法
Nov 07 #Javascript
微信小程序上传图片到服务器实例代码
Nov 07 #Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
Nov 07 #Javascript
vue组件间通信子与父详解(二)
Nov 07 #Javascript
原生JS实现 MUI导航栏透明渐变效果
Nov 07 #Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
Nov 07 #Javascript
vue组件父与子通信详解(一)
Nov 07 #Javascript
You might like
PHP的Socket网络编程入门指引
2015/08/11 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
2016/10/19 PHP
php删除二维数组中的重复值方法
2018/03/12 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
2019/04/04 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
JQuery datepicker 使用方法
2011/05/20 Javascript
js禁止小键盘输入数字功能代码
2011/08/01 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
js判断子窗体是否关闭的方法
2015/08/11 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
详解react-router4 异步加载路由两种方法
2017/09/12 Javascript
在create-react-app中使用css modules的示例代码
2018/07/31 Javascript
vue-cli 3.0 版本与3.0以下版本在搭建项目时的区别详解
2018/12/11 Javascript
玩转Koa之核心原理分析
2018/12/29 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
2019/09/13 Javascript
js仿360开机效果
2019/12/26 Javascript
python登录pop3邮件服务器接收邮件的方法
2015/04/30 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
Python简单生成8位随机密码的方法
2017/05/24 Python
Python SVM(支持向量机)实现方法完整示例
2018/06/19 Python
python 读取Linux服务器上的文件方法
2018/12/27 Python
Python考拉兹猜想输出序列代码实践
2019/07/05 Python
Django用户登录与注册系统的实现示例
2020/06/03 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
Python TestSuite生成测试报告过程解析
2020/07/23 Python
HTML5 visibilityState属性详细介绍和使用实例
2014/05/03 HTML / CSS
纽约的奢华内衣店:Journelle
2016/07/29 全球购物
美国复古街头服饰精品店:Need Supply Co.
2017/02/22 全球购物
捷克原创男装和女装购物网站:Bolf.cz
2018/04/28 全球购物
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
俄罗斯一家时尚女装商店:Charuel
2019/12/04 全球购物
护士个人自我鉴定
2014/03/24 职场文书
大学生个人求职信
2014/06/02 职场文书
体育教师个人总结
2015/02/09 职场文书