吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 532|回复: 15
收起左侧

[已解决] vue3父子组件如何调用方法

 关闭 [复制链接]
墙边等红杏 发表于 2023-12-20 15:44
本帖最后由 墙边等红杏 于 2023-12-21 09:06 编辑

我的问题:父组件引用子组件,父组件有一个按钮,点击后就调用子组件的getdata方法发起网络请求




问了ChatGPT给出的答案点了就报错


我是参考了这篇文章:https://blog.csdn.net/chenhaiy/article/details/124053114


这篇文章有用,但是是子组件调用父组件,把父子组件对调就没有效果

我的代码:





[Asm] 纯文本查看 复制代码
<template>
<div class="box">
<div>父组件</div>
<input type="text" v-model="sub_content">
<button type="button" @click="search">搜索</button>
</div>
<Demo2 ref="getData" @getData="getDataParent"/>
</template>

<script setup>
import Demo2 from "@/components/demo2.vue";
import {ref} from 'vue';
const search = () => {
// 这里需要触发子组件的getData方法
};

</script>

<style scoped>

</style>




[Asm] 纯文本查看 复制代码
<template>
<div class="box">
<div>子组件</div>
</div>
</template>

<script setup>
import {defineExpose} from 'vue'

const getData = (content) => {
// 这个content是由父组件传过来的
console.log("子组件接收到的内容:", content);
};
defineExpose({getData})

</script>



参考文章:https://www.jb51.net/javascript/305116lhy.htm

免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
manwu + 1 + 1 我很赞同!
XD1021 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

dianjie 发表于 2023-12-20 15:59
https://cn.vuejs.org/guide/essentials/template-refs.html#ref-on-component
xjy666 发表于 2023-12-20 16:00
7593454 发表于 2023-12-20 16:09
本帖最后由 7593454 于 2023-12-20 16:14 编辑

子组件调用父组件:
子组件:const emit = defineEmits(['getData']);
const emitFunc = ()=>{
  emit ('getData')
}
父组件:
<template>
.....你的代码
<EmitProp @getData="getDataParent"></EmitProp >
</template>
import EmitProp from '..emitprop'
const getDataParent = ()=>{
  console.log('调用这个方法')
}
这样在子组件调用emitFunc函数的时候,就会调用父组件的getDataParent函数
父组件调用子组件:
子组件:
const childFunc = ()=>{
  console.log("调用这个方法")
}
defineExpose({
    childFunc,
});
父组件:
<template>
.....你的代码
<EmitProp ref="childRef"></EmitProp >
</template>
import {ref} from 'vue';
import EmitProp from '..emitprop'
const childRef = ref()
const getDataParent = ()=>{
  childRef.value.childFunc()
}
这样父组件调用getDataParent函数的时候就调用了子组件的childFunc函数
武帝是多么寂寞 发表于 2023-12-20 17:17
为啥吾爱会出现这种帖子?
15778063790 发表于 2023-12-20 17:38
不错,有点东西
爱吃鹅肉饭 发表于 2023-12-20 17:55
兄弟建议你看看vue3的官方文档,子组件可以暴露自身的方法,父组件可以直接调用
Jack-lee 发表于 2023-12-20 18:31
https://blog.csdn.net/weixin_48927323/article/details/125486312?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170306819516800188567159%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170306819516800188567159&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-125486312-null-null.142^v96^pc_search_result_base7&utm_term=vue3%E4%B8%AD%E5%AD%90%E5%90%91%E7%88%B6%E7%BB%84%E4%BB%B6%E4%BC%A0%E5%80%BC&spm=1018.2226.3001.4187
啊笨 发表于 2023-12-20 19:30
可以考虑下VueX
用这个比较简单
 楼主| 墙边等红杏 发表于 2023-12-20 22:29
Jack-lee 发表于 2023-12-20 18:31
https://blog.csdn.net/weixin_48927323/article/details/125486312?ops_request_misc=%257B%2522request%2 ...

传值我会用,关键是调用方法不会
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-30 00:18

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表