vue组件父子间通信详解(三)
程序员文章站
2022-03-27 10:33:38
本文实例为大家分享了vue组件父子间通信的具体代码,供大家参考,具体内容如下
三、组件间通信($parent $refs)
父组件要想获取子组件的数据:
①在调用...
本文实例为大家分享了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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: PHP 正则表达式函数库(两套)