250x250
Notice
Recent Posts
Recent Comments
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

진스

vue 스피너 본문

Vue

vue 스피너

입방정 2021. 4. 5. 12:17
728x90

components > common > LoadingSpinner.vue

 

<template>
<div class="spinner-container">
<div class="spinner" />
</div>
</template>

<script>
export default {};
</script>

<style scoped>
.spinner-container {
display: flex;
justify-content: center;
align-items: center;
height: 240px;
}
.spinner {
width: 50px;
height: 50px;
border-radius: 50%;
border: 5px solid #e0e0e0;
border-bottom: 5px solid #fe9616;
animation: spin 1s linear infinite;
position: relative;
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
</style>

 

 

 

등록할 페이지에서

<template>

   <loading-spinner v-if="isLoading"></loading-spinner>

   <ul v-else>

   ........

   </ul>

</template>

 

<scirpt>

import LoadingSpinner from "@/components/common/LoadingSpinner.vue";

export default {

  components: { LoadingSpinner },

  data() {

    return {

      isLoading: false

    };

  },

methods:{

 async getDatas() {   

    this.isLoading = true;

    const { data } = await fecthLists();

    this.isLoading = false;

    this.getLists = data.posts;

    }

  }

}

 

 

</scirpt>

728x90
Comments