时间:2021-05-26
子组件向父组件通信
子组件的button按钮绑定点击事件,事件方法名为sendToParent(),
该方法在子组件的methods中声明,实现功能this.$emit('cus-event',this.msg);
在父组件引入子组件,并给cus-event事件绑定doAction($event)方法,该方法中this.msg = e;console.log(e),
而msg已经在data中声明,其值为”子级消息”,故最终的输出结果为: 展示父级接收到的消息:子级消息
父组件调用子组件中的方法
点击父组件的button按钮,触发了click事件指向的useChild方法[该方法的行为是输出”父级消息”],
useChild方法在父组件的中的methods中声明,调用子组件中的方法,并传入参数str,即this.$refs.child1.getMsg(str);
而getMsg方法已经在子组件的methods中声明,其行为是console.log('子级组件收到父级的内容',str);,
所以,最终的输出结果为: 子级组件收到父级的内容 父级消息
代码示例(结合上面的分析理解代码)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>子向父通信</title> <style> #app { border: 1px solid blue; width: 500px; padding: 20px; margin: auto; border-radius: 8px; background: fuchsia; } #wrapper { border: 1px solid red; width: 400px; padding: 20px; border-radius: 8px; background: yellowgreen; margin-top: 20px; } </style> <script src="https://cdn.jsdelivr.net/npm/vue"></script> </head> <body> <div id="app"> <!-- 父组件 --> <h1>这是父组件</h1> <p>展示父级接收到的消息:{{msg}}</p> <button @click="useChild(szStr)">调用子组件的方法</button> <!-- cus-event为子组件自定义的事件名; doAction($event)为父组件的事件,参数$event不可少也不可写成其他--> <!-- ref表示组件的别名 --> <child @cus-event="doAction($event)" ref="child1"></child> </div> </body> </html> <template id="child"> <div id="wrapper"> <!-- 子组件 --> <h2>这是子组件</h2> <button @click="sendToParent">向父组件发消息</button> </div> </template> <script> let child = { template: '#child', data() { return { msg: '子级消息' }; }, methods: { sendToParent() { // 子组件只管发送消息,其中cus-event为自定义事件名(事件名不能写成驼峰法,多个单词用-连接),this.msg为要传递的参数。 this.$emit('cus-event', this.msg); }, getMsg(str) { console.log('子级组件收到父级的内容', str); } } }; // 注意: .$mount('#app')跟实例内部el: '#app'是等价的 new Vue({ data: { msg: '', szStr:'父级消息' }, components: { child }, methods: { doAction(e) { console.log(this); console.log(e); this.msg = e; }, useChild(str) { // 调用子组件的方法 // console.log(this); // console.log(this.$refs); // this.$refs.child1得到的子组件实例 this.$refs.child1.getMsg(str); } } }).$mount('#app'); </script>效果图
总结
以上所述是小编给大家介绍的Vue子组件向父组件通信与父组件调用子组件中的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了vue组件父与子通信的具体代码,供大家参考,具体内容如下一、组件间通信(父组件-->子组件)步骤:①父组件在调用子组件传值②在子组件中获取父
接着vue组件父与子通信详解继续学习。二、组件间通信(子组件传值给父组件)通过事件的方式来完成数据的传输。①在父组件中定义一个方法,用来接收子组件所通过事件传来
之前在用vue写子父组件通信的时候,老是遇到问题!!!子组件传值给父组件: 子组件:通过emit方法给父组件传值,这里的upparent是父组件要定义的方法
通讯是单向的,数据必须是由一方传到另一方。1.父组件与子组件间的通信。在React中,父组件可以向子组件通过传props的方式,向子组件进行通讯。父组件App.
单页面应用组件通信有以下几种,这篇文章主要讲Angular通信父组件=>子组件子组件=>父组件组件A=>组件B父组件=>子组件子组件=>父组件sibling=>