东风vue3父组件调用子组件的方法是通过exposeref来实现的,我们可以通过expose来控制父组件可以访问子组件那些的方法和对象,我们将通过setup api(组合式 api)和option api(选项式 api)来演示父组件如何调用子组件的方法。

1,组合式API

父组件通过ref定义子组件实例,通过调用实例获得子组件的数据和方法

<!-- 父组件 app.vue -->
<template><div class="itxst"><!-- 使用 ref  指令关联子组件 --><child ref="childComp"/><button @click="onTry">点击试一试</button></div>
</template>
<script setup>
import { reactive, ref } from "vue";
import child from "./child.vue";
//定义子组件实例,名称要和上面的ref相同
const childComp = ref(null);//访问demo组件的方法或对象
const onTry = () => {//获取到子组件的 title 数据 let msg = childComp.value.state.title;//调用子组件的 play方法childComp.value.play();
};
</script>

子组件通过defineExpose暴露对象和方法

<!--子组件名称  child.vue -->
<template><div class="itxst">{{ state.title }}</div>
</template>
<script setup>
import { ref, reactive } from "vue";
//定义一个变量
const state = reactive({title: "www.itxst.com",
});
//定义一个方法
const play = () => {state.title = "你调用了子组件的方法";
};//暴露state和play方法
defineExpose({state,play,
});
</script>

2,选项式API

<!-- 父组件 app.vue -->
<template><div class="itxst"><!-- 使用 ref  命令 --><child ref="childComp"/><button @click="onClick">点击试一试</button></div>
</template>
<script >
import child from "./child.vue";
export default {name: "app",//注册组件components: {child,},methods: {onClick: function () {//获取到 子组件的  数据let msg = this.$refs.childComp.message;//执行了子组件的 play方法this.$refs.childComp.play();},},
};
</script> 
<!-- 子组件 child.vue -->
<template><div class="itxst">{{ title }}</div>
</template>
<script>
//选项式默认当前实例是全部暴露
export default {name: "demo",//默认全部暴露 也可以通过expose控制那些需要暴露//expose: ['play'],data() {return {title: "www.itxst.com",};},methods: {play: function () {this.title = "你调用了子组件的方法";},},
};
</script>

vue3父组件调用子组件的方法相关推荐

  1. vue3 setup语法糖下父组件调用子组件的方法

    vue3下,父组件调用子组件的方法,如果使用了<script setup> 这种写法,那么子组件方法需要采用defineExpose()进行修饰,才能被外界调用.上代码: 1.子组件 _p ...

  2. 【Vue3系列】 父组件调用子组件的方法-子组件向父组件传值

    一:父组件调用子组件的方法 父组件 <template><div>父页面<son-com ref="sonRef"/><button @c ...

  3. 关于Vue3+ts父组件调用子组件方法

    Vue3中通过ref进行元素绑定然后就可以获取到元素,这个不用多说,但是我们需要通过父组件调用子组件的时候还需要进行一定的配置 参考:https://juejin.cn/post/7025985645 ...

  4. vue3.0 父组件调用子组件方法及获取子组件的值

    vue3.0 父组件调用子组件方法及获取子组件的值 通过对比2.0的获取及调用方式这里我们也可以借鉴2.0中的this.$refs去获取3.0和2.0的refs获取的方式有点大同小异,但是思路还是一样 ...

  5. Vue父组件调用子组件的方法并传参的两种方式(用$refs.refName.functionName、window.function)

    如需了解儿子怎么控制老子的,传送门:https://s-z-q.blog.csdn.net/article/details/120094689 父组件father.vue <template&g ...

  6. vue父组件调用子组件的方法

    vue组件与组件通信有如下几种情况: 平行组件 父组件与子组件 子组件与父组件 它们之间通信有几种方法有: props 自定义事件 vuex 今天我们聊一下父组件调用子组件的一种方法 parent.v ...

  7. Vue中父组件调用子组件的方法

    场景 SpringBoot+Vue+Echarts实现选择时间范围内数据加载显示柱状图: SpringBoot+Vue+Echarts实现选择时间范围内数据加载显示柱状图_BADAO_LIUMANG_ ...

  8. vue 父组件调用子组件内置方法

    背景介绍:外派到泰康做项目.这个项目中有个选择组织的功能,是一个树桩结构的懒加载,于是我就element-ui的tree组件封装了一个公共的组件. 但是后来发现他们的公司组织结构不是都请求的同一个接口 ...

  9. 【VUE实战问题记录】Vue 父组件调用子组件的使用方法

    Vue前端项目父组件调用子组件的时候,调用方式如下: 父组件 <template><div><child ref="refChild">< ...

最新文章

  1. jenkins+ant+jmeter接口测试
  2. Step by Step WebMatrix网站开发之二:使用WebMatrix(1)
  3. Android Studio 之 NDK篇
  4. LeetCode 1216. 验证回文字符串 III(DP)
  5. MySQL笔记-唯一键的使用
  6. 函数式编程 -- 函子(Functor)
  7. 强化学习离轨策略:从失败中获得成功经验 - 以追女孩为例 | 采样率的数学意义
  8. alarm之后调用sleep会这样
  9. 拓端tecdat|matlab递归神经网络RNN实现:桨距控制控制风力发电机组研究
  10. java.awt Robot 自动化测试 与 KeyEvent 常用按键
  11. 一文读懂量化系统接入及相关平台
  12. 2022年最新过DD检测方法dd防检测方法
  13. axure删除的页面怎么恢复_Axure高保真还原Web首页布局和交互教程
  14. python库之pyserial用法,pyserial和serial的区别
  15. Markdown如何修改上传图片的大小
  16. Koo叔说Shader—最基本的Shader
  17. BUUCTF [0CTF 2016] piapiapia
  18. python游戏功能_python 游戏(龙的国度)
  19. pythondjango教程_【秒懂】号称最为简明实用的Django上手教程
  20. 查询你的手机或者邮箱注册过那些网站

热门文章

  1. 【Java基础系列教程】第一章 编程入门
  2. 实现输入一个十进制正整数转换为二进制输出
  3. 基于模板匹配的目标跟踪法
  4. 鲁班学院-java架构师线上培训机构哪家好
  5. 各位集美兄得看过来! 利用AI给青春有你2的选手们做数据分析挖掘(四):AI分析谁最容易出道
  6. 怎么玩转GIS数据查询
  7. 【渝粤教育】国家开放大学2018年春季 0701-21T公共政策学 参考试题
  8. 安装 openssh-server时出现的错误(openssh-server : 依赖: openssh-client (= 1:5.9p1-5ubuntu1.10) 但是 1:6.0p1-3ubu)
  9. excel作图如何取最近一段时间的数据
  10. opencl: C++ 接口(cl.hpp)创建kernel