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 相关文章推荐
javascript 拖放效果实现代码
Jan 22 Javascript
javascript中的对象创建 实例附注释
Feb 08 Javascript
鼠标移到导航当前位置的LI变色处于选中状态
Aug 23 Javascript
jQuery获取动态生成的元素示例
Jun 15 Javascript
js获取内联样式的方法
Jan 27 Javascript
JavaScript简单获取页面图片原始尺寸的方法
Jun 21 Javascript
Augularjs-起步详解
Jul 08 Javascript
BootStrap Validator对于隐藏域验证和程序赋值即时验证的问题浅析
Dec 01 Javascript
scroll事件实现监控滚动条并分页显示(zepto.js)
Dec 18 Javascript
Bootstarp 基础教程之表单部分实例代码
Feb 03 Javascript
Node.js学习之查询字符串解析querystring详解
Sep 28 Javascript
iview tabs 顶部导航栏和模块切换栏的示例代码
Mar 04 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
基于mysql的bbs设计(五)
2006/10/09 PHP
PHP生成静态页面详解
2006/12/05 PHP
php文字水印和php图片水印实现代码(二种加水印方法)
2013/12/25 PHP
php获取网页里所有图片并存入数组的方法
2015/04/06 PHP
php提交表单时保留多个空格及换行的文本样式的方法
2017/06/20 PHP
PHP 构造函数和析构函数原理与用法分析
2020/04/21 PHP
js常用函数 不错
2006/09/08 Javascript
Jquery Ajax学习实例4 向WebService发出请求,返回实体对象的异步调用
2010/03/16 Javascript
同一页面多个商品倒计时JS 基于面向对象的javascript
2012/02/16 Javascript
JS打开图片另存为对话框实现代码
2012/12/26 Javascript
jQuery动画出现连续触发、滞后反复执行的解决方法
2015/01/28 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
2015/03/31 Javascript
JS实现的几个常用算法
2016/11/12 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
用director.js实现前端路由使用实例
2017/01/27 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
深入理解AngularJS中的ng-bind-html指令
2017/03/27 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
js前端导出Excel的方法
2017/11/01 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
使用express+multer实现node中的图片上传功能
2018/02/02 Javascript
解决vue打包之后静态资源图片失效的问题
2018/02/21 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
2019/04/30 Javascript
React精髓!一篇全概括小结(急速)
2019/05/23 Javascript
Vue中keep-alive的两种应用方式
2020/07/15 Javascript
使用Python编写基于DHT协议的BT资源爬虫
2016/03/19 Python
给同学的道歉信
2014/01/16 职场文书
项目战略合作意向书
2015/05/08 职场文书
给朋友的赠语
2015/06/23 职场文书
护士岗位竞聘书
2015/09/15 职场文书
《我是什么》教学反思
2016/02/16 职场文书
2016年助残日旅游活动总结
2016/04/01 职场文书
MySQL修炼之联结与集合浅析
2021/10/05 MySQL
以下牛机,你有几个
2022/04/05 无线电