vue3使用自定义组件内方法

发布时间:2024年01月19日

重点

使用 defineExpose 来导出方法

// child
<script setup>
import { ref, Ref } from 'vue'

const prop: Ref<string> = ref('child')

const method = (val: string) => {
	console.log(val)
}

defineExpose({
	prop,
	method,
})
</script>
// father
<template>
	<child ref="child" />
</template>

<script setup>
import { ref } from 'vue'
import child from './child.vue'

const child = ref<InstanceType<typeof child>>()

child.value.method(child.value.prop)
</script>

详解

< script setup> 组件时默认不导出属性方法的(类似 java 的 private ),即通过 ref 获取实例是无法访问到自定义的属性和方法,但是可以获取到组件实例。
可以通过 defineExpose 来指定要暴露的方法属性,便可以在外部访问到组件自定义的属性方法了。
当然也可以去官网查看官方说法。

文章来源:https://blog.csdn.net/weixin_45924425/article/details/135699982
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。