vue3组合式API获取子组件属性和方法的代码实例

 更新时间:2024年01月30日 11:41:32   作者:椒盐大肥猫  
这篇文章主要为大家详细介绍了vue3组合式API获取子组件属性和方法的代码实例,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

在vue2中,获取子组件实例的方法或者属性时,父组件直接通过ref即可直接获取子组件的属性和方法,如下:

// father.vue
<child ref="instanceRef" />
this.$ref['instanceRef'].testVal
this.$ref['instanceRef'].testFunc()
// child.vue
data () {
	return {
		testVal: '来自子组件的属性'
	}
},
methods: {
	testFunc() {
		return '来自子组件的方法'
	}
}

在vue3 组合式API中,在子组件使用defineExpose指定需要暴露的属性和方法,父组件才可以通过ref获取到子组件的属性和方法,如下:

// father.vue
<script setup lang="ts">
import ChildInstance from "@/views/component/father-instance/child-instance.vue";
import { ref } from "vue";

const instanceRef = ref(null);
const getChildInstance = () => {
  const childInstance = instanceRef.value; // 通过ref获取子组件实例
  console.log(childInstance.childValue);
  console.log(childInstance.childFunc());
};
</script>

<template>
  <ChildInstance ref="instanceRef" />
  <el-button @click="getChildInstance">获取子组件属性和方法</el-button>
</template>

<style scoped lang="scss"></style>

// child.vue
<script setup lang="ts">
import { ref, defineExpose } from "vue";

const childValue = ref("来自子组件的属性");
const childFunc = () => {
  return "来自子组件的方法";
};
// 使用defineExpose指定需要暴露的属性和方法
defineExpose({
  childValue,
  childFunc
});
</script>

<template>
  <div>来自子组件</div>
</template>

<style scoped lang="scss"></style>

以上就是vue3组合式API获取子组件属性和方法的代码实例的详细内容,更多关于vue3 API获取子组件的资料请关注脚本之家其它相关文章!

相关文章

  • Vue3项目中优雅实现微信授权登录的方法

    Vue3项目中优雅实现微信授权登录的方法

    用户在微信端中访问第三方网页,可以通过微信网页授权机制获取用户的基本信息,进而实现所需要的业务逻辑,这篇文章主要给大家介绍了关于Vue3项目中优雅实现微信授权登录的相关资料,需要的朋友可以参考下
    2021-09-09
  • vue动态循环出的多个select出现过的变为disabled(实例代码)

    vue动态循环出的多个select出现过的变为disabled(实例代码)

    本文通过实例代码给大家分享了vue动态循环出的多个select出现过的变为disabled效果,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-11-11
  • Vue组件之间传值/调用几种方式

    Vue组件之间传值/调用几种方式

    这篇文章主要介绍了Vue组件之间传值/调用的几种方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • Vue自定义指令学习及应用详解

    Vue自定义指令学习及应用详解

    这篇文章主要为大家详细介绍了Vue中自定义指令的学习以及如何利用Vue制作一个简单的学生信息管理系统,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-05-05
  • Element Timeline时间线的实现

    Element Timeline时间线的实现

    本文主要介绍了Element Timeline时间线的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 详解Vue双向数据绑定原理解析

    详解Vue双向数据绑定原理解析

    本篇文章主要介绍了详解Vue双向数据绑定原理解析 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • vuex 实现getter值赋值给vue组件里的data示例

    vuex 实现getter值赋值给vue组件里的data示例

    今天小编就为大家分享一篇vuex 实现getter值赋值给vue组件里的data示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • vue中进入详情页记住滚动位置的方法(keep-alive)

    vue中进入详情页记住滚动位置的方法(keep-alive)

    今天小编就为大家分享一篇vue中进入详情页记住滚动位置的方法(keep-alive),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • vue 子组件watch监听不到prop的解决

    vue 子组件watch监听不到prop的解决

    这篇文章主要介绍了vue 子组件watch监听不到prop的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • vue-resourc发起异步请求的方法

    vue-resourc发起异步请求的方法

    这篇文章主要介绍了vue-resourc发起异步请求的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02

最新评论