国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁(yè) web前端 js教程 在vue2中如何實(shí)作資料請(qǐng)求顯示loading圖

在vue2中如何實(shí)作資料請(qǐng)求顯示loading圖

Jun 23, 2018 pm 05:58 PM
loading vue2 資料請(qǐng)求

這篇文章主要為大家詳細(xì)介紹了vue2實(shí)現(xiàn)數(shù)據(jù)請(qǐng)求顯示loading圖,具有一定的參考價(jià)值,有興趣的小伙伴們可以參考一下

一般項(xiàng)目中,有時(shí)候會(huì)要求,你在資料請(qǐng)求的時(shí)候顯示一張gif圖片,然後資料載入完後,消失。這個(gè),一般只需要在封裝的axios中寫入js事件即可。當(dāng)然,我們首先需要在app.vue中,加入此圖片。如下:

<template>
 <p id="app">
 <loading v-show="fetchLoading"></loading>
 <router-view></router-view>
 </p>
</template>

<script>
 import { mapGetters } from &#39;vuex&#39;;
 import Loading from &#39;./components/common/loading&#39;;

 export default {
 name: &#39;app&#39;,
 data() {
 return {
 }
 },
 computed: {
 ...mapGetters([
 &#39;fetchLoading&#39;,
 ]),
 },
 components: {
 Loading,
 }
 }
</script>

<style>
 #app{
 width: 100%;
 height: 100%;
 }
</style>

這裡的fetchLoading是存在vuex裡面的變數(shù)。在store/modules/common.js裡需要如下定義:

/* 此js文件用于存儲(chǔ)公用的vuex狀態(tài) */
import api from &#39;./../../fetch/api&#39;
import * as types from &#39;./../types.js&#39;
const state = {
 // 請(qǐng)求數(shù)據(jù)時(shí)加載狀態(tài)loading
 fetchLoading: false
}
const getters = {
 // 請(qǐng)求數(shù)據(jù)時(shí)加載狀態(tài)
 fetchLoading: state => state.fetchLoading
}
const actions = {
 // 請(qǐng)求數(shù)據(jù)時(shí)狀態(tài)loading
 FETCH_LOADING({
 commit
 }, res) {
 commit(types.FETCH_LOADING, res)
 },
}
const mutations = {
 // 請(qǐng)求數(shù)據(jù)時(shí)loading
 [types.FETCH_LOADING] (state, res) {
 state.fetchLoading = res
 }
}

loading元件如下:

<template>
 <p class="loading">
 <img src="./../../assets/main/running.gif" alt="">
 </p>
</template>

<script>
 export default {
 name: &#39;loading&#39;,
 data () {
 return {}
 },
 }
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
 .loading{
 position: fixed;
 top:0;
 left:0;
 z-index:121;
 width: 100%;
 height: 100%;
 background: rgba(0,0,0,0.3);
 display: table-cell;
 vertical-align: middle;
 text-align: center;
 }
 .loading img{
 margin:5rem auto;
 }
</style>

最後在fetch/api.js裡封裝的axios裡寫入判斷l(xiāng)oading事件即可:如下

// axios的請(qǐng)求時(shí)間
let axiosDate = new Date()
export function fetch (url, params) {
 return new Promise((resolve, reject) => {
 axios.post(url, params)
 .then(response => {
 // 關(guān)閉 loading圖片消失
 let oDate = new Date()
 let time = oDate.getTime() - axiosDate.getTime()
 if (time < 500) time = 500
 setTimeout(() => {
  store.dispatch(&#39;FETCH_LOADING&#39;, false)
 }, time)
 resolve(response.data)
 })
 .catch((error) => {
 // 關(guān)閉 loading圖片消失
 store.dispatch(&#39;FETCH_LOADING&#39;, false)
 axiosDate = new Date()
 reject(error)
 })
 })
}
export default {
 // 組件中公共頁(yè)面請(qǐng)求函數(shù)
 commonApi (url, params) {
 if(stringQuery(window.location.href)) {
 store.dispatch(&#39;FETCH_LOADING&#39;, true);
 }
 axiosDate = new Date();
 return fetch(url, params);
 }
}

這樣就實(shí)現(xiàn)了,專案中當(dāng)載入資料的時(shí)候,顯示gif圖片,當(dāng)資料載入出來(lái)時(shí)消失。

關(guān)於vue.js的學(xué)習(xí)教學(xué)課程,請(qǐng)大家點(diǎn)選專題vue.js元件學(xué)習(xí)教學(xué)、Vue.js前端元件學(xué)習(xí)教學(xué)教學(xué)。

更多vue學(xué)習(xí)教學(xué)請(qǐng)閱讀專題《vue實(shí)戰(zhàn)教學(xué)》

上面是我整理給大家的,希望今後會(huì)對(duì)大家有幫助。

相關(guān)文章:

使用Angular5實(shí)作服務(wù)端渲染實(shí)戰(zhàn)

在vuex中如何實(shí)作閒置狀態(tài)進(jìn)行重設(shè)

使用jQuery封裝animate.css(詳細(xì)教學(xué))

#vue-cli設(shè)定檔(詳細(xì)教學(xué))

以上是在vue2中如何實(shí)作資料請(qǐng)求顯示loading圖的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請(qǐng)聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

vue2與vue3中的生命週期執(zhí)行順序有何不同 vue2與vue3中的生命週期執(zhí)行順序有何不同 May 16, 2023 pm 09:40 PM

vue2與vue3中生命週期執(zhí)行順序區(qū)別生命週期比較vue2中執(zhí)行順序beforeCreate=>created=>beforeMount=>mounted=>beforeUpdate=>updated=>beforeDestroy=>destroyedvue3中執(zhí)行順序setup=>onBefore>beforeDestroy=>destroyedvue3中執(zhí)行順序setup=>onBefore>beforeDestroy=>destroyedvue3中執(zhí)行順序setup=>onBefore> onBeforeUpdate=>onUpdated=>onBeforeUnmount=&g

Vue中資料請(qǐng)求的選擇:Axios or Fetch? Vue中資料請(qǐng)求的選擇:Axios or Fetch? Jul 17, 2023 pm 06:30 PM

Vue中資料請(qǐng)求的選擇:AxiosorFetch?在Vue開發(fā)中,處理資料請(qǐng)求是一個(gè)非常常見的任務(wù)。而選擇使用哪種工具來(lái)進(jìn)行資料請(qǐng)求,則是需要考慮的問題。在Vue中,最常見的兩種工具是Axios和Fetch。本文將會(huì)比較這兩種工具的優(yōu)缺點(diǎn),並給出一些範(fàn)例程式碼來(lái)幫助你做出選擇。 Axios是一個(gè)基於Promise的HTTP客戶端,可以在瀏覽器和Node.

快速搞懂Vue2 diff演算法(圖文詳解) 快速搞懂Vue2 diff演算法(圖文詳解) Mar 17, 2023 pm 08:23 PM

diff演算法是一種透過(guò)同層的樹節(jié)點(diǎn)進(jìn)行比較的高效演算法,避免了對(duì)樹進(jìn)行逐層搜尋遍歷。那麼大家對(duì)diff演算法嗎有多少了解呢?以下這篇文章就來(lái)帶大家深入解析下vue2的diff演算法,希望對(duì)大家有幫助!

Vue中如何實(shí)現(xiàn)全域loading效果 Vue中如何實(shí)現(xiàn)全域loading效果 Jun 11, 2023 am 09:05 AM

在前端開發(fā)中,我們經(jīng)常會(huì)有一個(gè)場(chǎng)景:使用者在與網(wǎng)頁(yè)互動(dòng)過(guò)程中需要等待資料的加載,此時(shí)通常會(huì)有一個(gè)loading效果顯示,提醒使用者等待。在Vue框架中,實(shí)作一個(gè)全域loading效果並不困難,以下我們來(lái)介紹如何實(shí)作。第一步:建立Vue插件我們可以建立一個(gè)名為loading的Vue插件,可以在所有的Vue實(shí)例中引用。在外掛程式中,我們需要實(shí)作以下兩個(gè)方法:s

聊聊Vue2和Vue3中怎麼設(shè)定404介面 聊聊Vue2和Vue3中怎麼設(shè)定404介面 Feb 17, 2023 pm 02:25 PM

這篇文章帶大家進(jìn)行Vue學(xué)習(xí),聊聊Vue2和Vue3中設(shè)定404介面的方法,希望對(duì)大家有幫助!

如何在Vue中實(shí)現(xiàn)全域Loading效果 如何在Vue中實(shí)現(xiàn)全域Loading效果 Nov 07, 2023 am 09:18 AM

如何在Vue中實(shí)現(xiàn)全域Loading效果在Vue開發(fā)中,實(shí)現(xiàn)全域Loading效果是一個(gè)常見的需求。全域Loading效果可以給使用者一個(gè)良好的提示,讓使用者知道頁(yè)面正在載入中,增加使用者的使用體驗(yàn)。本文將介紹如何在Vue中實(shí)現(xiàn)全域Loading效果,並提供具體的程式碼範(fàn)例。建立全域Loading元件首先,我們需要建立一個(gè)全域Loading元件。這個(gè)組件可以是一個(gè)簡(jiǎn)

Vue框架中常用的資料請(qǐng)求庫(kù):Axios詳解 Vue框架中常用的資料請(qǐng)求庫(kù):Axios詳解 Jul 18, 2023 am 09:12 AM

Vue框架中常用的資料請(qǐng)求庫(kù):Axios詳解標(biāo)題:Vue框架中常用的資料請(qǐng)求庫(kù):Axios詳解引言:在Vue開發(fā)中,資料請(qǐng)求是不可或缺的一部分。而Axios作為Vue中常用的資料請(qǐng)求庫(kù),具有簡(jiǎn)單易用的API和強(qiáng)大的功能,成為了前端開發(fā)中首選的資料請(qǐng)求工具。本文將詳細(xì)介紹Axios的使用方法以及一些常見的應(yīng)用場(chǎng)景,並提供對(duì)應(yīng)的程式碼範(fàn)例供讀者參考。 Axios

一文詳解vue2如何實(shí)現(xiàn)帶有阻尼下拉加載功能 一文詳解vue2如何實(shí)現(xiàn)帶有阻尼下拉加載功能 Feb 20, 2023 pm 12:07 PM

這篇文章為大家?guī)?lái)了關(guān)於vue2的相關(guān)知識(shí),其中主要跟大家聊一聊帶有阻尼下拉加載的功能是怎麼在vue2中實(shí)現(xiàn)的,感興趣的朋友下面一起來(lái)看一下吧,希望對(duì)大家有幫助。

See all articles