时间:2021-05-26
接着vue组件父与子通信详解继续学习。
二、组件间通信(子组件传值给父组件)
通过事件的方式来完成数据的传输。
①在父组件中 定义一个方法,用来接收子组件所通过事件传来的值
methods:{ recvMsg:function(msg){ //参数msg就是子组件通过事件出来的数据 }}②绑定事件处理函数
事件一般情况 都是自定义事件
<child-component @myEvent="recvMsg"></child-component>③在子组件触发事件
事件名,值this.$emit('myEvent',myPhone)//触发一个叫做myEvent的事件,同时把第二个参数数据传递给事件对应的处理函数总结:
在Vue 中,父子组件的关系可以总结为 props down, events up。父组件通过 props 向下传递数据给子组件,子组件通过 events 给父组件发送消息。
<!doctype html><html> <head> <meta charset="UTF-8"> <title>组件间通信子传父</title> <script src="js/vue.js"></script> </head> <body> <div id="container"> <p>{{msg}}</p> <parent-component></parent-component> </div> <script> //通过事件的方式传递 // 绑定 -- 触发 Vue.component("parent-component",{ data:function(){ return { sonMsg:"" } }, methods:{ //msg参数要拿子传递的值 recvMsg:function(msg){ console.log("父组件接收到子组件的数据"+msg); this.sonMsg = msg; } }, template:` <div> <h1>这是父组件</h1> <p>子组件传来的数据为:{{sonMsg}}</p> <hr/> <child-component @customEvent="recvMsg"></child-component> </div> ` }) Vue.component("child-component",{ methods:{ sendMsg:function(){ //来触发绑定给子组件的自定义方法 //this.$emit("customEvent");第一个参数触发 //this.$emit("customEvent");第二个参数传值 this.$emit("customEvent","哈哈哈哈"); }, }, template:` <div> <h1>这是子组件</h1> <button @click="sendMsg">senToFather</button> </div> ` }) new Vue({ el:"#container", data:{ msg:"Hello VueJs" } }) </script> </body></html>在子组件中放上一个input,点击按钮 把用户输入的内容发给父组件
<!doctype html><html> <head> <meta charset="UTF-8"> <title>子与父之间的通信</title> <script src="js/vue.js"></script> </head> <body> <div id="container"> <p>{{msg}}</p> <parent-component></parent-component> </div> <script> //创建父组件 Vue.component("parent-component",{ //data属性 data:function(){ return{ sonMsg:"" } }, methods:{ recvMsg:function(msg){ this.sonMsg = msg } }, template:` <div> <h1>父组件</h1> <h4>子组件传递的数据:{{sonMsg}}</h4> <child-component @customEvent="recvMsg"></child-component> </div> ` }) //创建子组件 Vue.component("child-component",{ data:function(){ return { myInput:"" } }, methods:{ sendMsg:function(){ this.$emit("customEvent",this.myInput); } }, template:` <div> <h1>子组件</h1> <input type="text" v-model="myInput"/> <button @click="sendMsg">发送</button> </div> ` }) new Vue({ el:"#container", data:{ msg:"Hello VueJs" } }) </script> </body></html>以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了vue组件父与子通信的具体代码,供大家参考,具体内容如下一、组件间通信(父组件-->子组件)步骤:①父组件在调用子组件传值②在子组件中获取父
本文实例为大家分享了vue组件父子间通信的具体代码,供大家参考,具体内容如下三、组件间通信($parent$refs)父组件要想获取子组件的数据:①在调用子组件
之前在用vue写子父组件通信的时候,老是遇到问题!!!子组件传值给父组件: 子组件:通过emit方法给父组件传值,这里的upparent是父组件要定义的方法
通讯是单向的,数据必须是由一方传到另一方。1.父组件与子组件间的通信。在React中,父组件可以向子组件通过传props的方式,向子组件进行通讯。父组件App.
单页面应用组件通信有以下几种,这篇文章主要讲Angular通信父组件=>子组件子组件=>父组件组件A=>组件B父组件=>子组件子组件=>父组件sibling=>