Vue3 コンポーネントのカプセル化。例として Loading コンポーネントのカプセル化を取り上げます。

コンポーネントパッケージングの意味

提示:本文技术栈为vue3+ts+antdv

  • より良い再利用のために
  • プロジェクトコードの分離
  • 再利用可能なコードをカプセル化する
  • コード ロジックの結合の改善 (コンポーネントが複数の場所で再利用される場合、すべての場所ではなく、コンポーネントのみを変更する必要があります)
  • 開発効率の向上

読み込み効果は次のようになります。
ここに画像の説明を挿入

コンポーネントのカプセル化 (サブコンポーネント) の読み込み

<template>
  <a-spin size="large" class="postion" :spinning="data" />
</template>

<script lang="ts" setup>
const data = ref<boolean>(true)
const props = defineProps<{
    
    
  spinning: boolean
}>()
const {
    
     spinning } = toRefs(props)
watch(
  () => spinning.value,
  () => {
    
    
    data.value = spinning.value
  }
)
</script>

<style lang="less" scoped>
.postion {
    
    
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
</style>

コンポーネントの使用法 (親コンポーネント)

 <loading :spinning="loading" />
import Loading from '@/components/loading/index.vue' //引入
const loading = ref<boolean>(true) //定义变量
//显示加载动画
loading.value = true
//关闭加载动画
loading.value = false

最後に、単純なコンポーネントのカプセル化が完了します。複雑なコンポーネントのカプセル化については、作者が後で更新します...

おすすめ

転載: blog.csdn.net/m0_46627407/article/details/125641852