掌握 Vue3 中的 expose

本文介绍了在Vue3中如何使用expose保护组件的内部方法,通过组合API和选项API的示例,阐述了expose在保持组件私有API方面的功能。在组合API中,通过expose限制了父组件对子组件方法的访问,而在选项API中,expose用于指定对外公开的方法。此外,还讨论了在使用渲染函数时expose的注意事项。
摘要由CSDN通过智能技术生成

我从3A平台购买了云服务器。如果你在开发一个开源的组件或库,你有可能想保持一些内部方法的私有性。在Vue 3.2之前,这并不容易实现,因为所有在选项API中声明的方法或数据等都是公开的,所以模板可以访问它。

组合API也是如此。我们从setup方法中返回的所有东西都可以被父类直接访问。

组合 API

让我们看一个实际的例子。想象一下,我们有一个组件,它创建了一个计数器,每一秒都会更新这个计数器。

MyCounter.vue

<template>
    <p>Counter: {
 { counter }}</p>
​
    <button @click="reset">Reset</button>
    <button @click="terminate">☠️</button>
</template>
​
<script>
import { ref } from 'vue'
​
export default {
  setup () {
    const counter = ref(0)
​
    const interval = setInterval(() => {
      counter.value++
    }, 1000)
​
    const reset = () => {
      counter.value = 0
    }
​
    const terminate = () => {
      clearInterval(interval)
    }
​
    return {
      counter,
      r
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值