Maison interface Web js tutoriel Comment implémenter le graphique de chargement de l'affichage des demandes de données dans vue2

Comment implémenter le graphique de chargement de l'affichage des demandes de données dans vue2

Jun 23, 2018 pm 05:58 PM
loading vue2 数据请求

Cet article présente principalement vue2 pour implémenter en détail le diagramme de chargement de l'affichage des demandes de données. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Dans les projets généraux, cela est parfois nécessaire, vous affichez une image gif. pendant la demande de données, puis disparaissent une fois les données chargées. Pour cela, il vous suffit généralement d'écrire des événements js dans les axios encapsulés. Bien sûr, nous devons d'abord ajouter cette image à app.vue. Comme suit :

<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>
Copier après la connexion

Le fetchLoading ici est une variable stockée dans vuex. La définition suivante est requise dans store/modules/common.js :

/* 此js文件用于存储公用的vuex状态 */
import api from &#39;./../../fetch/api&#39;
import * as types from &#39;./../types.js&#39;
const state = {
 // 请求数据时加载状态loading
 fetchLoading: false
}
const getters = {
 // 请求数据时加载状态
 fetchLoading: state => state.fetchLoading
}
const actions = {
 // 请求数据时状态loading
 FETCH_LOADING({
 commit
 }, res) {
 commit(types.FETCH_LOADING, res)
 },
}
const mutations = {
 // 请求数据时loading
 [types.FETCH_LOADING] (state, res) {
 state.fetchLoading = res
 }
}
Copier après la connexion

Le composant de chargement est le suivant :

<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>
Copier après la connexion

Enfin, écrivez le jugement dans les axios encapsulés dans fetch /api.js L'événement de chargement suffit : comme suit

// axios的请求时间
let axiosDate = new Date()
export function fetch (url, params) {
 return new Promise((resolve, reject) => {
 axios.post(url, params)
 .then(response => {
 // 关闭 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) => {
 // 关闭 loading图片消失
 store.dispatch(&#39;FETCH_LOADING&#39;, false)
 axiosDate = new Date()
 reject(error)
 })
 })
}
export default {
 // 组件中公共页面请求函数
 commonApi (url, params) {
 if(stringQuery(window.location.href)) {
 store.dispatch(&#39;FETCH_LOADING&#39;, true);
 }
 axiosDate = new Date();
 return fetch(url, params);
 }
}
Copier après la connexion

Ceci est réalisé lorsque les données sont chargées dans le projet, l'image gif s'affiche et disparaît lorsque les données sont chargées.

Pour les didacticiels d'apprentissage de vue.js, veuillez cliquer sur les didacticiels spéciaux d'apprentissage des composants vue.js et les didacticiels d'apprentissage des composants frontaux Vue.js pour apprendre.

Pour plus de tutoriels d'apprentissage Vue, veuillez lire le sujet spécial "Tutoriel pratique Vue"

Ce qui précède est ce que j'ai compilé pour vous, j'espère qu'il vous sera utile à l'avenir.

Articles connexes :

Utiliser Angular5 pour implémenter le rendu côté serveur

Comment réinitialiser l'état d'inactivité dans vuex

Utilisez jQuery pour encapsuler animate.css (tutoriel détaillé)

fichier de configuration vue-cli (tutoriel détaillé)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle est la différence entre l'ordre d'exécution du cycle de vie dans vue2 et vue3 Quelle est la différence entre l'ordre d'exécution du cycle de vie dans vue2 et vue3 May 16, 2023 pm 09:40 PM

Différences dans l'ordre d'exécution du cycle de vie entre vue2 et vue3 Comparaison du cycle de vie L'ordre d'exécution dans vue2 beforeCreate=>created=>beforeMount=>Mounted=>beforeUpdate=>updated=>beforeDestroy=>destroyed L'ordre d'exécution dans vue3 setup=>onBeforeMount= >onMounted=> onBeforeUpdate=>onUpdated=>onBeforeUnmount=&g

Choix de requête de données dans Vue : Axios ou Fetch ? Choix de requête de données dans Vue : Axios ou Fetch ? Jul 17, 2023 pm 06:30 PM

Choix de requête de données dans Vue : AxiosorFetch ? Dans le développement de Vue, la gestion des demandes de données est une tâche très courante. Choisir quel outil utiliser pour les demandes de données est une question à considérer. Dans Vue, les deux outils les plus courants sont Axios et Fetch. Cet article comparera les avantages et les inconvénients des deux outils et donnera un exemple de code pour vous aider à faire votre choix. Axios est un client HTTP basé sur Promise qui fonctionne dans les navigateurs et Node.

Comprendre rapidement l'algorithme de comparaison Vue2 (explication graphique détaillée) Comprendre rapidement l'algorithme de comparaison Vue2 (explication graphique détaillée) Mar 17, 2023 pm 08:23 PM

L'algorithme diff est un algorithme efficace qui compare les nœuds de l'arbre au même niveau, évitant ainsi d'avoir à rechercher et à parcourir l'arbre couche par couche. Alors, que savez-vous de l’algorithme de comparaison ? L'article suivant vous donnera une analyse approfondie de l'algorithme diff de vue2. J'espère qu'il vous sera utile !

Comment implémenter l'effet de chargement global dans Vue Comment implémenter l'effet de chargement global dans Vue Jun 11, 2023 am 09:05 AM

Dans le développement front-end, nous avons souvent un scénario dans lequel l'utilisateur doit attendre que les données soient chargées lors de l'interaction avec la page Web. À ce moment-là, un effet de chargement est généralement affiché pour rappeler à l'utilisateur d'attendre. Dans le framework Vue, il n'est pas difficile d'implémenter un effet de chargement global. Voyons comment l'implémenter. Étape 1 : Créer un plug-in Vue Nous pouvons créer un plug-in Vue nommé chargement, qui peut être référencé dans toutes les instances de Vue. Dans le plug-in, nous devons implémenter les deux méthodes suivantes : s

Parlons de la façon de configurer l'interface 404 dans Vue2 et Vue3 Parlons de la façon de configurer l'interface 404 dans Vue2 et Vue3 Feb 17, 2023 pm 02:25 PM

Cet article vous guidera à travers l'apprentissage de Vue et expliquera comment configurer l'interface 404 dans Vue2 et Vue3. J'espère qu'il vous sera utile !

Comment implémenter l'effet de chargement global dans Vue Comment implémenter l'effet de chargement global dans Vue Nov 07, 2023 am 09:18 AM

Comment implémenter les effets de chargement globaux dans Vue Dans le développement de Vue, l'implémentation des effets de chargement globaux est une exigence courante. L'effet de chargement global peut donner aux utilisateurs une bonne invite pour leur faire savoir que la page est en cours de chargement, améliorant ainsi l'expérience utilisateur. Cet article expliquera comment implémenter les effets de chargement globaux dans Vue et fournira des exemples de code spécifiques. Créer un composant Loading global Tout d'abord, nous devons créer un composant Loading global. Ce composant peut être un simple

Bibliothèques de requêtes de données couramment utilisées dans le framework Vue : explication détaillée d'Axios Bibliothèques de requêtes de données couramment utilisées dans le framework Vue : explication détaillée d'Axios Jul 18, 2023 am 09:12 AM

Bibliothèques de requêtes de données couramment utilisées dans le framework Vue : explication détaillée d'Axios Titre : Bibliothèques de requêtes de données couramment utilisées dans le framework Vue : explication détaillée d'Axios Introduction : Dans le développement de Vue, la demande de données est une partie essentielle. En tant que bibliothèque de requêtes de données couramment utilisée dans Vue, Axios dispose d'une API simple et facile à utiliser et de fonctions puissantes, ce qui en fait l'outil de requête de données préféré dans le développement front-end. Cet article présentera en détail comment utiliser Axios et certains scénarios d'application courants, et fournira des exemples de code correspondants pour référence aux lecteurs. Axios

Vue et Axios unissent leurs forces pour optimiser le processus de traitement des requêtes de données front-end Vue et Axios unissent leurs forces pour optimiser le processus de traitement des requêtes de données front-end Jul 21, 2023 am 08:09 AM

Vue et Axios unissent leurs forces pour optimiser le processus de traitement des demandes de données front-end. Le développement front-end nécessite souvent une interaction des données avec le back-end. La demande et le traitement des données sont l'une des tâches principales du développement front-end. Vue.js est un framework frontal populaire et Axios est une bibliothèque HTTP basée sur Promise. La combinaison des deux peut considérablement optimiser le processus de traitement des demandes de données frontales. Cet article explique comment utiliser Vue et Axios ensemble, et les exemples sont les suivants. Tout d'abord, nous devons introduire Vue et Axios dans le projet

See all articles