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 相关文章推荐
基于Jquery的实现回车键Enter切换焦点
Sep 14 Javascript
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
Feb 18 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
Apr 27 Javascript
jQuery预加载图片常用方法
Jun 15 Javascript
js文本框走动跑马灯效果代码分享
Aug 25 Javascript
分享两段简单的JS代码防止SQL注入
Apr 12 Javascript
vue监听滚动事件实现滚动监听
Apr 11 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
Apr 12 Javascript
element-ui循环显示radio控件信息的方法
Aug 24 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
Nov 22 Javascript
详解基于mpvue微信小程序下载远程图片到本地解决思路
May 16 Javascript
浅谈关于vue中scss公用的解决方案
Dec 02 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中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
2011/03/23 PHP
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
PHP使用CURL获取302跳转后的地址实例
2014/05/04 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
2017/04/26 PHP
Thinkphp 5.0实现微信企业付款到零钱
2018/09/30 PHP
thinkphp5框架前后端分离项目实现分页功能的方法分析
2019/10/08 PHP
PHP扩展类型及安装方式解析
2020/04/27 PHP
jquery $.ajax入门应用一
2008/11/19 Javascript
js escape,unescape解决中文乱码问题的方法
2010/05/26 Javascript
javascript文本模板用法实例
2015/07/31 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
vue-axios使用详解
2017/05/10 Javascript
Angularjs中ng-repeat的简单实例
2017/08/25 Javascript
JavaScript实现三级级联特效
2017/11/05 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
vue中eventbus被多次触发以及踩过的坑
2017/12/02 Javascript
python实现2014火车票查询代码分享
2014/01/10 Python
Python中处理时间的几种方法小结
2015/04/09 Python
简单实现python进度条脚本
2017/12/18 Python
Python subprocess模块详细解读
2018/01/29 Python
使用Python做垃圾分类的原理及实例代码附源码
2019/07/02 Python
Django用户登录与注册系统的实现示例
2020/06/03 Python
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
物理系毕业生自荐信
2013/11/01 职场文书
高中毕业自我鉴定
2013/12/22 职场文书
企业总经理职责
2014/02/02 职场文书
汽车装潢店创业计划书范文
2014/02/05 职场文书
推荐信模板
2014/05/09 职场文书
学校端午节活动方案
2014/08/23 职场文书
期末复习计划
2015/01/19 职场文书
西安导游词
2015/02/12 职场文书
文言文辞职信
2015/02/28 职场文书
员工升职自荐信
2015/03/27 职场文书
幼儿园2016圣诞节活动总结
2016/03/31 职场文书