Vue系列---【子组件调用父组件的方法】
Vue中子组件调用父组件的方法,三种方法
- 第一种方法是在子组件中通过this.parent)
父组件:
<template> <div> <child></child> </div> </template> <script> import child from '~/components/child'; export default { components: { child }, methods: { fatherMethod() { console.log('父组件方法'); } } }; </script>
子组件:
<template> <div> <button @click="childMethod()">点击</button> </div> </template> <script> export default { methods: { childMethod() { //this.$parent.$parent.fatherMethod();多试几层 this.$parent.fatherMethod(); } } }; </script>
- 第二种方法是在子组件里用$emit向父组件触发一个事件,父组件监听这个事件(Vue推荐使用)。
父组件:
<template> <div> <child @fatherMethod="fatherMethod"></child> </div> </template> <script> import child from '~/components/child'; export default { components: { child }, methods: { fatherMethod(val) { console.log('val实际就是子组件传过来的childParam'); } } }; </script>
子组件:
<template> <div> <button @click="childMethod()">点击</button> </div> </template> <script> export default {
data(){
return {
childParam:{}
}
}, methods: { childMethod() { this.$emit('fatherMethod',this.childParam); } } }; </script>
- 第三种是父组件把方法传入子组件中,在子组件里直接调用这个方法
父组件:
<template> <div> <child :fatherMethod="fatherMethod"></child> </div> </template> <script> import child from '~/components/child'; export default { components: { child }, methods: { fatherMethod() { console.log('父组件方法'); } } }; </script>
子组件:
<template> <div> <button @click="childMethod()">点击</button> </div> </template> <script> export default { methods: { childMethod() { if (this.fatherMethod) { this.fatherMethod(); } } } }; </script>
愿你走出半生,归来仍是少年!
分类:
【前端系列】 / 【Vue】
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-04-26 java基础---【数据结构可视化工具,包含红黑树,二叉树等演示工具】