最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue 全局loading組件實(shí)例詳解

 更新時(shí)間:2018年05月29日 11:14:03   作者:小蔥蔥蔥包  
這篇文章主要介紹了Vue 全局loading組件,需要的朋友可以參考下

上圖不上種,菊花萬(wàn)人捅:

loading.js:

import './loading.css'
 let Loading = {}
// 避免重復(fù)install,設(shè)立flag
Loading.installed = false
Loading.install = function (Vue) {
 if (Loading.installed) return
 Vue.prototype.$loading = {}
 Vue.prototype.$loading.show = () => {
 // 如果頁(yè)面有l(wèi)oading則不繼續(xù)執(zhí)行
 if (document.querySelector('#vue-loading')) return
 // 1、創(chuàng)建構(gòu)造器,定義loading模板
 let LoadingTip = Vue.extend({
  template: `<div id="vue-loading">
     <div class="loader"></div>
     </div>`
 })
 // 2、創(chuàng)建實(shí)例,掛載到文檔以后的地方
 let tpl = new LoadingTip().$mount().$el
 // 3、把創(chuàng)建的實(shí)例添加到body中
 document.body.appendChild(tpl)
 // 阻止遮罩滑動(dòng)
 document.querySelector('#vue-loading').addEventListener('touchmove', function (e) {
  e.stopPropagation()
  e.preventDefault()
 })
 Loading.installed = true
 }
 Vue.prototype.$loading.hide = () => {
 let tpl = document.querySelector('#vue-loading')
 document.body.removeChild(tpl)
 }
}
export default Loading

  loading.css:

#vue-loading {
 width: 100%;
 height: 100%;
 position: absolute;
 left: 0;
 top: 0
}
.loader {
 position: relative;
 width: 2.5em;
 height: 2.5em;
 transform: rotate(165deg);
}
.loader:before, .loader:after {
 content: '';
 position: absolute;
 top: 50%;
 left: 50%;
 display: block;
 width: 0.5em;
 height: 0.5em;
 border-radius: 0.25em;
 transform: translate(-50%, -50%);
}
.loader:before {
 animation: before 2s infinite;
}
.loader:after {
 animation: after 2s infinite;
}
@keyframes before {
 0% {
 width: 0.5em;
 box-shadow: 1em -0.5em rgba(225, 20, 98, 0.75), -1em 0.5em rgba(111, 202, 220, 0.75);
 }
 35% {
 width: 2.5em;
 box-shadow: 0 -0.5em rgba(225, 20, 98, 0.75), 0 0.5em rgba(111, 202, 220, 0.75);
 }
 70% {
 width: 0.5em;
 box-shadow: -1em -0.5em rgba(225, 20, 98, 0.75), 1em 0.5em rgba(111, 202, 220, 0.75);
 }
 100% {
 box-shadow: 1em -0.5em rgba(225, 20, 98, 0.75), -1em 0.5em rgba(111, 202, 220, 0.75);
 }
}
@keyframes after {
 0% {
 height: 0.5em;
 box-shadow: 0.5em 1em rgba(61, 184, 143, 0.75), -0.5em -1em rgba(233, 169, 32, 0.75);
 }
 35% {
 height: 2.5em;
 box-shadow: 0.5em 0 rgba(61, 184, 143, 0.75), -0.5em 0 rgba(233, 169, 32, 0.75);
 }
 70% {
 height: 0.5em;
 box-shadow: 0.5em -1em rgba(61, 184, 143, 0.75), -0.5em 1em rgba(233, 169, 32, 0.75);
 }
 100% {
 box-shadow: 0.5em 1em rgba(61, 184, 143, 0.75), -0.5em -1em rgba(233, 169, 32, 0.75);
 }
}
/**
 * Attempt to center the whole thing!
 */
html,
body {
 height: 100%;
}
.loader {
 position: absolute;
 top: calc(50% - 1.25em);
 left: calc(50% - 1.25em);
}

  這樣就可以直接在組件里面手動(dòng)調(diào)用啦!

  調(diào)用方法: this.$loading.show(),  this.$loading.hide()

  因?yàn)檫@個(gè)項(xiàng)目暫時(shí)規(guī)模很小,就只有注冊(cè)功能,我直接把調(diào)用寫(xiě)在axios請(qǐng)求攔截器里面,每次請(qǐng)求和請(qǐng)求結(jié)束都會(huì)調(diào)用loading,這樣就不用在頁(yè)面里面手動(dòng)調(diào)用啦。

總結(jié)

以上所述是小編給大家介紹的Vue 全局loading組件,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 詳解在vue開(kāi)發(fā)中如何利用.env文件

    詳解在vue開(kāi)發(fā)中如何利用.env文件

    我們?cè)?nbsp;vue 項(xiàng)目的目錄中經(jīng)常看到 env 開(kāi)頭的文件,在文件內(nèi)聲明一些變量,這些變量就是一些配置變量,在不同環(huán)境下可使用的變量,本文我們將給大家介紹在vue開(kāi)發(fā)中如何利用.env文件,需要的朋友可以參考下
    2023-10-10
  • Vue實(shí)現(xiàn)Header漸隱漸現(xiàn)效果的實(shí)例代碼

    Vue實(shí)現(xiàn)Header漸隱漸現(xiàn)效果的實(shí)例代碼

    這篇文章主要介紹了Vue實(shí)現(xiàn)Header漸隱漸現(xiàn)效果,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Vue組件之間的通信方式(推薦!)

    Vue組件之間的通信方式(推薦!)

    組件是 vue.js最強(qiáng)大的功能之一,而組件實(shí)例的作用域是相互獨(dú)立的,這就意味著不同組件之間的數(shù)據(jù)無(wú)法相互進(jìn)行直接的引用,所以組件間的相互通信是非常重要的,這篇文章主要給大家介紹了關(guān)于Vue組件之間的通信方式,需要的朋友可以參考下
    2022-06-06
  • Vue中的路由跳轉(zhuǎn)(返回、刷新、跳轉(zhuǎn))

    Vue中的路由跳轉(zhuǎn)(返回、刷新、跳轉(zhuǎn))

    這篇文章主要介紹了Vue中的路由跳轉(zhuǎn)(返回、刷新、跳轉(zhuǎn))方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Vue中webpack的使用詳解

    Vue中webpack的使用詳解

    這篇文章主要為大家詳細(xì)介紹了Vue中webpack的使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • Vue.js路由實(shí)現(xiàn)選項(xiàng)卡簡(jiǎn)單實(shí)例

    Vue.js路由實(shí)現(xiàn)選項(xiàng)卡簡(jiǎn)單實(shí)例

    這篇文章主要為大家詳細(xì)介紹了Vue.js路由實(shí)現(xiàn)選項(xiàng)卡簡(jiǎn)單實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 基于Vue實(shí)現(xiàn)后臺(tái)系統(tǒng)權(quán)限控制的示例代碼

    基于Vue實(shí)現(xiàn)后臺(tái)系統(tǒng)權(quán)限控制的示例代碼

    本篇文章主要介紹了基于Vue實(shí)現(xiàn)后臺(tái)系統(tǒng)權(quán)限控制的示例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • Vue3源碼解讀computed和watch

    Vue3源碼解讀computed和watch

    這篇文章主要為大家介紹了Vue3中的computed和watch源碼解讀分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Vue3.5中新增的baseWatch函數(shù)用法詳解

    Vue3.5中新增的baseWatch函數(shù)用法詳解

    在Vue 3.5.0-beta.3版本中新增了一個(gè)base watch函數(shù),這個(gè)函數(shù)用法和我們熟知的watch API一模一樣,下面就跟隨小編一起來(lái)了解一下它的具體使用吧
    2024-11-11
  • 詳解vue中使用express+fetch獲取本地json文件

    詳解vue中使用express+fetch獲取本地json文件

    本篇文章主要介紹了詳解vue中使用express+fetch獲取本地json文件,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2017-10-10

最新評(píng)論

银川市| 陆川县| 石河子市| 定边县| 高邑县| 绥中县| 浦江县| 肇州县| 盐城市| 定陶县| 东莞市| 凭祥市| 广元市| 蕲春县| 丹阳市| 汕尾市| 察雅县| 乐业县| 三门县| 饶阳县| 马山县| 宿州市| 柳河县| 长武县| 井研县| 绍兴县| 治多县| 子长县| 会宁县| 澄江县| 鸡东县| 大厂| 广东省| 绥棱县| 贵州省| 烟台市| 论坛| 孟州市| 丰县| 满城县| 罗平县|