Vue 封裝的loading組件

來源:互聯網
上載者:User

標籤:pos   ESS   scale   100%   data   animation   key   method   play   

<template>    <div class="loadEffect">        <span></span>        <span></span>        <span></span>        <span></span>        <span></span>        <span></span>        <span></span>        <span></span>    </div></template>
<script type="text/ecmascript-6">    export default {        name: ‘loading‘    }</script>

 

<style lang="less" scoped>    .loadEffect {        width: 50px;        height: 50px;        position: relative;        margin: 0 auto;                span {            display: inline-block;            width: 10px;            height: 10px;            border-radius: 50%;            background: grey;            position: absolute;            -webkit-animation: load 1.04s ease infinite;        }                @-webkit-keyframes load {            0% {                -webkit-transform: scale(1.2);                opacity: 1;            }            100% {                -webkit-transform: scale(.3);                opacity: 0.5;            }        }                .loadEffect span {            &: nth-child(1) {                left: 0;                top: 50%;                margin-top: -5px;                -webkit-animation-delay: 0.13s;            }            &: nth-child(2) {                left: 7px;                top: 7px;                -webkit-animation-delay: 0.26s;            }            &: nth-child(3) {                left: 50%;                top: 0;                margin-left: -5px;                -webkit-animation-delay: 0.39s;            }            &: nth-child(4) {                right: 7px;                top: 7px;                -webkit-animation-delay: 0.52s;            }            &: nth-child(5) {                right: 0;                top: 50%;                margin-top: -5px;                -webkit-animation-delay: 0.65s;            }            &: nth-child(6) {                right: 7px;                bottom: 7px;                -webkit-animation-delay: 0.78s;            }            &: nth-child(7) {                left: 50%;                bottom: 0;                margin-left: -5px;                -webkit-animation-delay: 0.91s;            }            &: nth-child(8) {                left: 7px;                bottom: 7px;                -webkit-animation-delay: 1.04s;            }        }    }</style>

 

以上是loading組件的完整代碼,引用方法如下:

<Loading v-if="loading"></Loading>
<script>    export default {        data() {            return {                loading: false            }        },        methods: {            //載入方法            dataLoading(){                this.loading = true;                //載入完成後                this.loading = false;            }        }    }</script>

 

Vue 封裝的loading組件

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.