Appearance
cx
Appearance
数据驱动样式,样式组件进行纯一些
传参的可扩展性 $attrs, 如果不希望透传某些属性比如class,可以通过useAttrs来实现
<script setup>
import { computed, useAttrs } from 'vue'
const attrs = useAttrs()
const filteredAttrs = computed(() => {
return { ...attrs, class: undefined }
})
</script>暴露事件的可扩展性 通过defineExpose 显式公开 ref 属性
插槽的可扩展性
<template v-for="{ value, key } in $slots" :key="key" #[key]="slotProps">
<slot :name="key" v-bind="slotProps" />
</template>类型提示 使用defineProps以及defineEmits导出
keep-alive 组件是 vue 的内置组件,用于缓存内部组件实例。这样做的目的在于,keep-alive 内部的组件切回时,不用重新创建组件实例,而直接使用缓存中的实例,一方面能够避免创建组件带来的开销,另一方面可以保留组件的状态。
动态组件
转换成渲染函数
⽤ timeline ⼯具。 通过 timeline 来查看每个函数的调⽤时常,定位出哪个函数的问题,从⽽能判断哪个组件出了问题。