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

uniapp使用v-loading并且不引入element-ui的操作方法

 更新時間:2022年10月19日 10:34:07   作者:zaijinyang  
這篇文章主要介紹了uniapp使用v-loading并且不引入element-ui,首先創(chuàng)建loading.js,創(chuàng)建lloading.scss,本文結合示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

1、創(chuàng)建loading.js

import Vue from 'vue';
/**
 * 插入loading
 */
const insertDom = (el) => {
  let dom = `<div class="el-loading-mask">
        <div class="el-loading-spinner">
          <svg viewBox="25 25 50 50" class="circular">
            <circle cx="50" cy="50" r="20" fill="none" class="path"> </circle>
          </svg>
          <p class="el-loading-text">拼命加載中...</p>
        </div>
      </div>`;

  //el添加相對定位
  el.classList.add('el-loading-parent--relative');

  // 插入到被綁定的元素內部
  el.insertAdjacentHTML('afterbegin', dom);
};

/**
 * 移除loading
 */
const removeDom = (el) => {
  const ds = el.getElementsByClassName('el-loading-mask')[0];
  if (ds) {
    el.removeChild(ds);
    el.classList.remove('el-loading-parent--relative');
  }
};

// 更新是否顯示
const toggleLoading = (el, binding) => {
  if (binding.value) {
    insertDom(el);
  } else {
    removeDom(el);
  }
};

Vue.directive('loading', {
  bind: function (el, binding, vnode) {
    toggleLoading(el, binding);
  },
  //所在組件的 VNode 更新時調用--比較更新前后的值
  update: function (el, binding) {
    if (binding.oldValue !== binding.value) {
      toggleLoading(el, binding);
    }
  }
});

2、創(chuàng)建lloading.scss

/deep/ .el-loading-parent--relative {
  position: relative !important;
}

/deep/ .el-loading-mask {
  position: absolute;
  z-index: 2000;
  background-color: rgba(0, 0, 0, 0.8);
  margin: 0;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: opacity 0.3s;

  .el-loading-spinner {
    top: 50%;
    margin-top: -21px;
    width: 100%;
    text-align: center;
    position: absolute;
  }

  .el-loading-spinner .el-loading-text {
    color: #409eff;
    margin: 3px 0;
    font-size: 14px;
  }

  .el-loading-spinner .circular {
    height: 42px;
    width: 42px;
    animation: loading-rotate 2s linear infinite;
  }

  .el-loading-spinner .path {
    animation: loading-dash 1.5s ease-in-out infinite;
    stroke-dasharray: 90, 150;
    stroke-dashoffset: 0;
    stroke-width: 2;
    stroke: #409eff;
    stroke-linecap: round;
  }

  .el-loading-spinner i {
    color: #409eff;
  }

  .el-loading-fade-enter,
  .el-loading-fade-leave-active {
    opacity: 0;
  }

  @keyframes loading-rotate {
    to {
      transform: rotate(1turn);
    }
  }

  @keyframes loading-dash {
    0% {
      stroke-dasharray: 1, 200;
      stroke-dashoffset: 0;
    }

    50% {
      stroke-dasharray: 90, 150;
      stroke-dashoffset: -40px;
    }

    to {
      stroke-dasharray: 90, 150;
      stroke-dashoffset: -120px;
    }
  }
}

3、將scss引入通用樣式(一般在uni.scss中引入)

@import '/static/css/loading.scss';

4、在main.js中引入loading.scss

// 使用v-loading
import Loading from '@/utils/loading.js'
Vue.use(Loading)

5、頁面上使用

<view class="details-video" v-loading="loading"></view>

6、效果:

到此這篇關于uniapp使用v-loading并且不引入element-ui的文章就介紹到這了,更多相關uniapp使用v-loading內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Vue使用視頻作為網(wǎng)頁背景的實現(xiàn)指南

    Vue使用視頻作為網(wǎng)頁背景的實現(xiàn)指南

    在現(xiàn)代網(wǎng)頁設計中,視頻背景逐漸成為一種流行的設計趨勢,它不僅能夠提升網(wǎng)頁的動態(tài)效果,還可以在視覺上抓住用戶的注意力,本文將詳細講解如何在頁面中使用視頻作為背景,并確保內容可見、頁面元素布局合理,需要的朋友可以參考下
    2024-10-10
  • Nuxt使用Vuex的方法示例

    Nuxt使用Vuex的方法示例

    這篇文章主要介紹了Nuxt使用Vuex的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • vue3使用vuedraggable和grid實現(xiàn)自定義拖拽布局方式

    vue3使用vuedraggable和grid實現(xiàn)自定義拖拽布局方式

    這篇文章主要介紹了vue3使用vuedraggable和grid實現(xiàn)自定義拖拽布局方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • vue 使用eventBus實現(xiàn)同級組件的通訊

    vue 使用eventBus實現(xiàn)同級組件的通訊

    這篇文章主要介紹了vue 使用eventBus實現(xiàn)同級組件的通訊,需要的朋友可以參考下
    2018-03-03
  • Vue項目通過vue-i18n實現(xiàn)國際化方案(推薦)

    Vue項目通過vue-i18n實現(xiàn)國際化方案(推薦)

    這篇文章主要介紹了Vue項目通過vue-i18n實現(xiàn)國際化方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • 使用vNode實現(xiàn)給列表字段打標簽

    使用vNode實現(xiàn)給列表字段打標簽

    這篇文章主要為大家介紹了使用vNode實現(xiàn)給列表字段打標簽示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • element-ui vue input輸入框自動獲取焦點聚焦方式

    element-ui vue input輸入框自動獲取焦點聚焦方式

    這篇文章主要介紹了element-ui vue input輸入框自動獲取焦點聚焦方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue實現(xiàn)會議室拖拽布局排座功能

    vue實現(xiàn)會議室拖拽布局排座功能

    vue-draggable-resizable-gorkys是一更強大的拖拽組件,可以隨意拖拽,有點坐標,會議室拖拽布局排座是vue-draggable結合vue-draggable-resizable-gorkys進行開發(fā)的,本文重點給大家介紹vue實現(xiàn)會議室拖拽布局排座,感興趣的朋友一起看看吧
    2023-11-11
  • vue3.0列表頁面做緩存的方法代碼

    vue3.0列表頁面做緩存的方法代碼

    很多時候為了讓提高用戶的體驗感,在頁面上添加緩存,是十分有必要的,?下面這篇文章主要給大家介紹了關于vue3.0列表頁面做緩存的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-04-04
  • vue3?setup語法糖之組件傳參(defineProps、defineEmits、defineExpose)示例詳解

    vue3?setup語法糖之組件傳參(defineProps、defineEmits、defineExpose)示例詳

    defineProps?和?defineEmits?都是只能在?<script?setup>?中使用的編譯器宏,他們不需要導入,且會隨著?<script?setup>?的處理過程一同被編譯掉,這篇文章主要介紹了vue3?setup語法糖之組件傳參(defineProps、defineEmits、defineExpose)示例詳解,需要的朋友可以參考下
    2023-01-01

最新評論

宽城| 汉沽区| 庆阳市| 新和县| 库车县| 布尔津县| 通化市| 凤台县| 永宁县| 监利县| 武义县| 葫芦岛市| 根河市| 阿鲁科尔沁旗| 阿拉善左旗| 灌阳县| 南澳县| 饶平县| 锦屏县| 元朗区| 肃南| 南开区| 芒康县| 青神县| 枝江市| 大港区| 菏泽市| 卓尼县| 葵青区| 合江县| 巴东县| 六安市| 鸡泽县| 晴隆县| 清流县| 曲周县| 全南县| 邢台市| 穆棱市| 西乡县| 九江市|