微信商家小程序_vue组件父子间通信详解(三)

vue组件父子间通信详解(三)       这篇文章主要为大家详细介绍了vue组件父子间通信的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

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

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

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

ponent ref="mySon" /ponent

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

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
 ponent("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 
 xiaohua ref="mySon" /xiaohua 
 /div 
// 创建子组件
 ponent("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 
 //创建子组件
 ponent("dahua",{
 data:function(){
 return{
 myName:"大花"
 template:`
 div 
 h1 这是父组件 /h1 
 xiaohua /xiaohua 
 /div 
 //创建子组件
 ponent("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 

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