vue3 defineExpose 暴露方法
时间: 2023-10-14 18:32:18 浏览: 163
vue3+ts组件练习文件
在Vue 3中,可以使用`defineExpose`函数来暴露组件内部的方法给父组件使用。这个函数需要在组件的`setup`函数中调用。
下面是一个示例:
```vue
<template>
<div>
<button @click="increment">Increment</button>
<p>Count: {{ count }}</p>
</div>
</template>
<script>
import { defineExpose, ref } from 'vue';
export default {
setup() {
const count = ref(0);
const increment = () => {
count.value++;
};
defineExpose({
increment,
count,
});
return {
count,
increment,
};
},
};
</script>
```
在上面的示例中,`increment`方法和`count`变量被暴露出来,可以在父组件中通过使用`ref`或者`.value`来访问它们。
注意:父组件在访问暴露的方法和变量时,应该使用`.value`来获取实际的值,因为在Vue 3中,响应式的数据都被包装在`ref`函数中。
阅读全文