vue子组件怎么调用父组件的方法
方法总结:
1、子组件中通过“this.$parent.event”来调用父组件的方法。
2、子组件用“$emit”向父组件触发一个事件,父组件监听这个事件即可。
3、父组件把方法传入子组件中,在子组件里直接调用这个方法即可。
Vue中子组件调用父组件的方法,这里有三种方法提供参考
第一种方法是直接在子组件中通过this.$parent.event来调用父组件的方法
父组件
<template> <p> <child></child> </p> </template> <script> import child from '~/components/dam/child'; export default { components: { child }, methods: { fatherMethod() { console.log('测试'); } } }; </script>
子组件 child
<template> <p> <button @click="childMethod()">点击</button> </p> </template> <script> export default { methods: { childMethod() { this.$parent.fatherMethod(); } } }; </script>
第二种方法是在子组件里用$emit
向父组件触发一个事件,父组件监听这个事件就行了
父组件
<template> <p> <child @fatherMethod="fatherMethod"></child> </p> </template> <script> import child from '~/components/dam/child'; export default { components: { child }, methods: { fatherMethod() { console.log('测试'); } } }; </script>
子组件
<template> <p> <button @click="childMethod()">点击</button> </p> </template> <script> export default { methods: { childMethod() { this.$emit('fatherMethod'); } } }; </script>
第三种是父组件把方法传入子组件中,在子组件里直接调用这个方法
父组件
<template> <p> <child :fatherMethod="fatherMethod"></child> </p> </template> <script> import child from '~/components/dam/child'; export default { components: { child }, methods: { fatherMethod() { console.log('测试'); } } }; </script>
子组件
<template> <p> <button @click="childMethod()">点击</button> </p> </template> <script> export default { props: { fatherMethod: { type: Function, default: null } }, methods: { childMethod() { if (this.fatherMethod) { this.fatherMethod(); } } } }; </script>
标签:
子组件调用父组件的方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统