波多野结衣 蜜桃视频,国产在线精品露脸ponn,a v麻豆成人,AV在线免费小电影

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

如何在Vue中實現全局Loading效果

在Vue開發中,實現全局Loading效果是一個常見的需求。全局Loading效果可以給用戶一個良好的提示,讓用戶知道頁面正在加載中,增加用戶的使用體驗。本文將介紹如何在Vue中實現全局Loading效果,并提供具體的代碼示例。

    創建全局Loading組件

首先,我們需要創建一個全局Loading組件。這個組件可以是一個簡單的加載動畫,比如一個旋轉的Loading圖標。可以使用第三方UI庫,比如Element UI或者Ant Design Vue提供的Loading組件。下面是一個示例:

<template>
  <div class="global-loading">
    <el-loading :visible="visible" text="加載中..."></el-loading>
  </div>
</template>

<script>
export default {
  data() {
    return {
      visible: false
    }
  },
  methods: {
    show() {
      this.visible = true
    },
    hide() {
      this.visible = false
    }
  }
}
</script>

<style scoped>
.global-loading {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
}
</style>

登錄后復制

在這個組件中,我們使用了Element UI提供的el-loading組件,并通過visible屬性控制Loading的顯示和隱藏。

    在App.vue中使用全局Loading組件

接下來,我們需要在App.vue中使用全局Loading組件,并在需要的時候顯示和隱藏它。可以使用Vue的事件總線機制來實現組件之間的通信。具體實現如下:

<template>
  <div id="app">
    <router-view></router-view>
    <GlobalLoading ref="globalLoading"></GlobalLoading>
  </div>
</template>

<script>
import GlobalLoading from './components/GlobalLoading.vue'

export default {
  components: {
    GlobalLoading
  },
  mounted() {
    this.$bus.$on('show-loading', () => {
      this.$refs.globalLoading.show()
    })
    this.$bus.$on('hide-loading', () => {
      this.$refs.globalLoading.hide()
    })
  },
  beforeDestroy() {
    this.$bus.$off('show-loading')
    this.$bus.$off('hide-loading')
  }
}
</script>

登錄后復制

在這個示例中,我們引入了全局Loading組件,并使用ref屬性給它起了一個名字。在mounted鉤子函數中,我們使用事件總線的$on方法監聽show-loadinghide-loading事件,并在對應的回調函數中調用全局Loading組件的showhide方法來顯示和隱藏Loading。

    在其他組件中觸發全局Loading效果

要在其他組件中觸發全局Loading效果,我們可以使用事件總線的$emit方法來觸發show-loadinghide-loading事件。下面是一個示例:

<template>
  <div>
    <h1>這是其他組件</h1>
    <button @click="startLoading">開始加載</button>
    <button @click="stopLoading">停止加載</button>
  </div>
</template>

<script>
export default {
  methods: {
    startLoading() {
      this.$bus.$emit('show-loading')
    },
    stopLoading() {
      this.$bus.$emit('hide-loading')
    }
  }
}
</script>

登錄后復制

在這個示例中,我們分別在兩個按鈕的點擊事件中調用$emit方法觸發show-loadinghide-loading事件,從而觸發全局Loading效果的顯示和隱藏。

通過以上步驟,我們就可以在Vue中實現全局Loading效果。當需要全局Loading效果時,我們只需要在對應的組件中觸發事件,全局Loading組件就會顯示出來,給用戶一個良好的提示。具體效果可以參考實際運行的示例代碼。

分享到:
標簽:Loading VUE 全局 如何在 效果
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定