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 相关文章推荐
用js脚本控制asp.net下treeview的NodeCheck的实现代码
Mar 02 Javascript
jQuery实现的立体文字渐变效果
May 17 Javascript
javascript从右边截取指定字符串的三种实现方法
Nov 29 Javascript
100个不能错过的实用JS自定义函数
Mar 05 Javascript
javascript复制粘贴与clipboardData的使用
Oct 16 Javascript
Javascript实现的简单右键菜单类
Sep 23 Javascript
javascript设计模式之策略模式学习笔记
Feb 15 Javascript
ionic grid(栅格)九宫格制作详解
Jun 30 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
Dec 06 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
Jan 08 Javascript
从0到1搭建Element的后台框架的方法步骤
Apr 10 Javascript
微信小程序本地存储实现每日签到、连续签到功能
Oct 09 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
如何让thinkphp在模型中自动完成session赋值小教程
2014/09/05 PHP
php对文件进行hash运算的方法
2015/04/03 PHP
Laravel实现定时任务的示例代码
2017/08/10 PHP
使用jquery解析XML的方法
2014/09/05 Javascript
Javascript实现飞动广告效果的方法
2015/05/25 Javascript
通过修改360抢票的刷新频率和突破8车次限制实现方法
2017/01/04 Javascript
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
浅谈Vue.js路由管理器 Vue Router
2018/08/16 Javascript
vue 2.1.3 实时显示当前时间,每秒更新的方法
2018/09/16 Javascript
vue中引入第三方字体文件的方法示例
2018/12/17 Javascript
JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】
2019/02/22 Javascript
jquery实现Ajax请求的几种常见方式总结
2019/05/28 jQuery
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
[01:02]DOTA2上海特锦赛SHOWOPEN
2016/03/25 DOTA
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
10款最好的Web开发的 Python 框架
2015/03/18 Python
Python中不同进制的语法及转换方法分析
2016/07/27 Python
Python对List中的元素排序的方法
2018/04/01 Python
DataFrame中去除指定列为空的行方法
2018/04/08 Python
python多行字符串拼接使用小括号的方法
2020/03/19 Python
Python爬取成语接龙类网站
2018/10/19 Python
Python内置方法和属性应用:反射和单例(推荐)
2020/06/19 Python
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
德国运动鞋网上商店:Afew Store
2018/01/05 全球购物
维多利亚的秘密官方旗舰店:VICTORIA’S SECRET
2018/04/02 全球购物
应届毕业生通用的自荐书范文
2014/02/07 职场文书
财产公证书
2014/04/10 职场文书
关于安全演讲稿
2014/05/09 职场文书
医德考评自我评价
2014/09/14 职场文书
大学生十八大感想
2015/08/11 职场文书
关于antd tree 和父子组件之间的传值问题(react 总结)
2021/06/02 Javascript
Nginx反向代理学习实例教程
2021/10/24 Servers
国际最新研究在陨石中发现DNA主要成分 或由陨石带来地球
2022/04/29 数码科技