日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

Vuejs自定义全局组件--loading

發布時間:2025/5/22 vue 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Vuejs自定义全局组件--loading 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

不管是使用框架,還是不使用任何的框架,我們都不可避免的需要與“加載中……”打交道,剛剛學習了Vuejs自定義組件的寫法,就現學現賣,介紹一下吧!

先看一下目錄結構,一般情況下,每一個組件都新建一個新的文件夾,里面包含對應的vue文件,和Index.js,如下圖:

如果想要像Mint-UI一樣,在任一.vue文件中,僅僅使用一個<loading></loading>標簽即可使用該組件的話,其實也沒有那么的深奧難懂的。

在main.js文件中:

import Loading from "./components/loading/index" Vue.use(Loading);

 也就兩句代碼解決,一句是ES6語法引入該loading模塊,另一句則是使用use來使用該模塊, Vue.use(Loading)

 這種全局組件,其實說起來很像jquery中的自定義插件一樣,這里我們所有代碼寫在./components/loading/index.js文件中:

import LoadingComponent from "./Loading.vue"; export default {install: function (Vue) {Vue.component("loading", LoadingComponent)} }

  也是兩句代碼,一句引入?"./Loading.vue", 下一句就是將該組件導出,這里就存在一個關鍵點:install, 只有使用install了,我們在main.js中,才能夠直接use該組件,而install函數默認自帶一個參數Vue,也就是我們正在使用的Vue對象,然后定義loading這一組件,也是正常的Vue定義組件的方法: Vue.component("loading", LoadingComponent),這里的“loading”的名稱,也就是我們后面使用組件時的標簽名稱。

  至于該組件長什么樣,有什么效果,直接在Loading.vue文件里面定義就可以了,并不受任何其他文件的影響。

  從網上扒下來一個loading的動畫效果的示例: 

<template><div class="loader"><div class="loader-inner pacman"><div></div><div></div><div></div><div></div><div></div></div></div> </template>   .loader {box-sizing: border-box;display: flex;flex: 0 1 auto;flex-direction: column;flex-grow: 1;flex-shrink: 0;flex-basis: 25%;max-width: 25%;height: 200px;align-items: center;justify-content: center; }.pacman {position: relative; } .pacman > div:nth-child(2) {-webkit-animation: pacman-balls 1s 0s infinite linear;animation: pacman-balls 1s 0s infinite linear; } .pacman > div:nth-child(3) {-webkit-animation: pacman-balls 1s 0.33s infinite linear;animation: pacman-balls 1s 0.33s infinite linear; } .pacman > div:nth-child(4) {-webkit-animation: pacman-balls 1s 0.66s infinite linear;animation: pacman-balls 1s 0.66s infinite linear; } .pacman > div:nth-child(5) {-webkit-animation: pacman-balls 1s 0.99s infinite linear;animation: pacman-balls 1s 0.99s infinite linear; } .pacman > div:first-of-type {width: 0px;height: 0px;border-right: 25px solid transparent;border-top: 25px solid #399;border-left: 25px solid #399;border-bottom: 25px solid #399;border-radius: 25px;-webkit-animation: rotate_pacman_half_up 0.5s 0s infinite;animation: rotate_pacman_half_up 0.5s 0s infinite; } .pacman > div:nth-child(2) {width: 0px;height: 0px;border-right: 25px solid transparent;border-top: 25px solid #399;border-left: 25px solid #399;border-bottom: 25px solid #399;border-radius: 25px;-webkit-animation: rotate_pacman_half_down 0.5s 0s infinite;animation: rotate_pacman_half_down 0.5s 0s infinite;margin-top: -50px; } .pacman > div:nth-child(3), .pacman > div:nth-child(4), .pacman > div:nth-child(5), .pacman > div:nth-child(6) {background-color: #399;width: 15px;height: 15px;border-radius: 100%;margin: 2px;width: 10px;height: 10px;position: absolute;-webkit-transform: translate(0, -6.25px);-ms-transform: translate(0, -6.25px);transform: translate(0, -6.25px);top: 25px;left: 100px; }@-webkit-keyframes rotate_pacman_half_up {0% {-webkit-transform: rotate(270deg);transform: rotate(270deg); }50% {-webkit-transform: rotate(360deg);transform: rotate(360deg); }100% {-webkit-transform: rotate(270deg);transform: rotate(270deg); } }@keyframes rotate_pacman_half_up {0% {-webkit-transform: rotate(270deg);transform: rotate(270deg); }50% {-webkit-transform: rotate(360deg);transform: rotate(360deg); }100% {-webkit-transform: rotate(270deg);transform: rotate(270deg); } }@-webkit-keyframes rotate_pacman_half_down {0% {-webkit-transform: rotate(90deg);transform: rotate(90deg); }50% {-webkit-transform: rotate(0deg);transform: rotate(0deg); }100% {-webkit-transform: rotate(90deg);transform: rotate(90deg); } }@keyframes rotate_pacman_half_down {0% {-webkit-transform: rotate(90deg);transform: rotate(90deg); }50% {-webkit-transform: rotate(0deg);transform: rotate(0deg); }100% {-webkit-transform: rotate(90deg);transform: rotate(90deg); } }@-webkit-keyframes pacman-balls {75% {opacity: 0.7; }100% {-webkit-transform: translate(-100px, -6.25px);transform: translate(-100px, -6.25px); } }@keyframes pacman-balls {75% {opacity: 0.7; }100% {-webkit-transform: translate(-100px, -6.25px);transform: translate(-100px, -6.25px); } }

  

?

轉載于:https://www.cnblogs.com/zhuhuoxingguang/p/7193215.html

總結

以上是生活随笔為你收集整理的Vuejs自定义全局组件--loading的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 五月天婷婷激情视频 | 18一20岁毛毛片 | 性欧美video另类hd尤物 | 成人区人妻精品一区 | 97超碰资源总站 | 日本午夜大片 | 不卡一二三| 男人操女人免费网站 | 久久九九99 | 一区二区在线视频播放 | 国产色无码精品视频国产 | 人妻丝袜一区 | 久久精品导航 | 中文字幕视频在线播放 | 国产精品制服诱惑 | 夜夜操免费视频 | 五月激情在线观看 | 国产一区二区三区18 | 久久久久免费精品视频 | 国产精品一亚洲av日韩av欧 | 奇米影视在线播放 | 亚洲成人一二三 | 国产极品一区二区 | 手机看片日韩福利 | 美女靠逼app| 日韩精品久久久久久免费 | 欧美人体视频一区二区三区 | 久久久无码人妻精品无码 | 一级黄色大片免费 | 日韩经典一区二区 | 国产精品麻豆欧美日韩ww | 免费日本黄色网址 | 国产在线你懂得 | 欧美日韩一级片在线观看 | 久久先锋| 日韩毛片一级 | 午夜av毛片 | 五月伊人网 | 成人性做爰aaa片免费看不忠 | 裸体男女树林做爰 | 国产精品有限公司 | 天天操天天干天天干 | 中文字幕一区二区三区波野结 | 日日噜噜夜夜爽爽 | www.国产在线视频 | 亚洲三级在线看 | 美女高潮视频在线观看 | 91av一区 | 人人草网站 | 国产激情a| 舐め犯し波多野结衣在线观看 | 男人天堂免费视频 | 一级久久 | 成人精品在线看 | 麻豆蜜桃wwww精品无码 | 国产性猛交╳xxx乱大交一区 | 操操久久 | 国产中文字幕免费 | 日韩精品免费一区二区三区 | 蜜桃一二三区 | 色呦呦一区二区三区 | 色666| 久久综合九色综合欧美狠狠 | 国产做受麻豆动漫 | 欧美激情一级精品国产 | 丰满岳乱妇国产精品一区 | 美女被娇喘视频 | 亚洲国产精品欧美久久 | 国产精品久久久久久久久久久久久久久 | 一本av在线 | 久久久久久一级片 | 香蕉久久精品 | 久操久 | 亚洲欧美日韩国产综合 | 很很干很很日 | 中文字幕欧美另类精品亚洲 | 国产男女精品 | 永久国产 | 伊人久久九| 成人在线免费播放 | 懂色中文一区二区在线播放 | 国产第8页 | 性——交——性——乱免费的 | 女人和拘做爰正片视频 | 牛牛影视一区二区 | 国产a一级 | 999国产| 禁漫天堂黄漫画无遮挡观看 | 亚洲国产精品成人va在线观看 | 亚洲资源在线观看 | 久久黄色片 | 色视频在线观看免费 | 农村妇女愉情三级 | 拔插拔插海外华人免费视频 | 国产男女猛烈无遮挡免费观看网站 | 国产福利在线播放 | 久久综合婷婷国产二区高清 | 国产精品污视频 | 91视频免费在线 |