作业组件Alert

来源:6-5 Icon组件总结

独自灿烂

2025-02-21

老师写的要暴露属性,还是不太明白这步有什么必要。

defineExpose({
  hide: () => hideAlert()
})

我将每次点击事件都触发emits,那父组件就可以通过事件监听来触发方法

//子组件代码
<Icon @click.stop="hideAlert" icon="xmark" />
//TS代码
const hideAlert = () => {
visible.value = false
emits('close')
//父组件代码
 <Alert type="danger" effect="dark" closable @close="handleClose"
    ><h3>9999</h3>
  </Alert>
}

这样写不就可以了么,不太明白defineExpose的目的,求指教

写回答

1回答

张轩

2025-02-22

同学你好

expose 出去以后可以通过获取组件实例的方式对组件进行操控,算是一种常规的做法了。还是会有一定的应用场景的。

1
0

进阶必学,打造媲美ElementPlus的组件库

Vue3.3 + TS4 ,自主打造媲美 ElementPlus 的组件库

481 学习 · 219 问题

查看课程