웹 프론트엔드 JS 튜토리얼 vue2에서 데이터 요청 표시 로딩 그래프를 구현하는 방법

vue2에서 데이터 요청 표시 로딩 그래프를 구현하는 방법

Jun 23, 2018 pm 05:58 PM
loading vue2 데이터 요청

이 글에서는 주로 데이터 요청 디스플레이 로딩 다이어그램을 구현하기 위해 vue2를 소개합니다. 관심 있는 친구들이 참고할 수 있습니다.

일반적인 프로젝트에서는 gif를 요청할 때 데이터 요청을 수행해야 하는 경우가 있습니다. 이미지를 삭제한 후 데이터가 로드된 후 사라집니다. 이를 위해서는 일반적으로 캡슐화된 axios에 js 이벤트만 작성하면 됩니다. 물론 먼저 이 이미지를 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에 저장된 변수입니다. 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
 }
}
로그인 후 복사

로딩 구성 요소는 다음과 같습니다.

<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에 판단 로딩 이벤트를 작성합니다. 다음과 같습니다

// 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);
 }
}
로그인 후 복사

그렇습니다. 프로젝트에 데이터가 로드되면 gif 이미지가 표시되었다가 데이터가 로드되면 사라집니다.

vue.js 학습 튜토리얼을 보려면 특수 vue.js 컴포넌트 학습 튜토리얼과 Vue.js 프론트엔드 컴포넌트 학습 튜토리얼을 클릭하여 학습하세요.

더 많은 Vue 학습 튜토리얼을 보려면 특별 주제 "Vue Practical Tutorial"을 읽어보세요.

위 내용은 제가 여러분을 위해 정리한 내용입니다. 앞으로 도움이 되길 바랍니다.

관련 기사:

Angular5를 사용하여 서버 측 렌더링 구현 구현

vuex에서 유휴 상태 재설정을 구현하는 방법

jQuery를 사용하여 animate.css 캡슐화(자세한 튜토리얼)

vue- cli 구성 파일(자세한 튜토리얼)

위 내용은 vue2에서 데이터 요청 표시 로딩 그래프를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

vue2와 vue3의 라이프사이클 실행 순서의 차이점은 무엇입니까? vue2와 vue3의 라이프사이클 실행 순서의 차이점은 무엇입니까? May 16, 2023 pm 09:40 PM

vue2와 vue3의 라이프사이클 실행 순서 차이 라이프사이클 비교 vue2의 실행 순서 beforeCreate=>created=>beforeMount=>mounted=>beforeUpdate=>updated=>beforeDestroy=>destroyed vue3의 실행 순서 setup=>onBeforeMount= >onMounted=> onBeforeUpdate=>onUpdated=>onBeforeUnmount=&g

Vue2 diff 알고리즘을 빠르게 이해하세요. (자세한 설명은 그림과 텍스트로 설명되어 있습니다.) Vue2 diff 알고리즘을 빠르게 이해하세요. (자세한 설명은 그림과 텍스트로 설명되어 있습니다.) Mar 17, 2023 pm 08:23 PM

diff 알고리즘은 동일한 수준의 트리 노드를 비교하는 효율적인 알고리즘으로, 트리를 계층별로 검색하고 탐색할 필요가 없습니다. 그렇다면 diff 알고리즘에 대해 얼마나 알고 있나요? 다음 글은 vue2의 diff 알고리즘에 대한 심층 분석을 제공할 것입니다. 도움이 되길 바랍니다!

Vue에서 데이터 요청 선택: Axios 또는 Fetch? Vue에서 데이터 요청 선택: Axios 또는 Fetch? Jul 17, 2023 pm 06:30 PM

Vue에서 데이터 요청 선택: AxiosorFetch? Vue 개발에서 데이터 요청을 처리하는 것은 매우 일반적인 작업입니다. 데이터 요청에 사용할 도구를 선택하는 것은 고려해야 할 질문입니다. Vue에서 가장 일반적인 두 가지 도구는 Axios와 Fetch입니다. 이 기사에서는 두 도구의 장단점을 비교하고 선택하는 데 도움이 되는 몇 가지 샘플 코드를 제공합니다. Axios는 브라우저와 Node.js에서 작동하는 Promise 기반 HTTP 클라이언트입니다.

Vue에서 전역 로딩 효과를 구현하는 방법 Vue에서 전역 로딩 효과를 구현하는 방법 Jun 11, 2023 am 09:05 AM

프런트 엔드 개발에서는 사용자가 웹 페이지와 상호 작용하는 동안 데이터가 로드될 때까지 기다려야 하는 경우가 종종 있습니다. 이때 일반적으로 사용자에게 기다리도록 상기시키는 로딩 효과가 표시됩니다. Vue 프레임워크에서는 전역 로딩 효과를 구현하는 방법이 어렵지 않습니다. 1단계: Vue 플러그인 생성 모든 Vue 인스턴스에서 참조할 수 있는 loading이라는 Vue 플러그인을 생성할 수 있습니다. 플러그인에서는 다음 두 가지 방법을 구현해야 합니다.

Vue 프레임워크에서 일반적으로 사용되는 데이터 요청 라이브러리: Axios 자세한 설명 Vue 프레임워크에서 일반적으로 사용되는 데이터 요청 라이브러리: Axios 자세한 설명 Jul 18, 2023 am 09:12 AM

Vue 프레임워크에서 일반적으로 사용되는 데이터 요청 라이브러리: Axios 상세 설명 제목: Vue 프레임워크에서 일반적으로 사용되는 데이터 요청 라이브러리: Axios 상세 설명 소개: Vue 개발에서 데이터 요청은 필수적인 부분입니다. Vue에서 일반적으로 사용되는 데이터 요청 라이브러리인 Axios는 간단하고 사용하기 쉬운 API와 강력한 기능을 갖추고 있어 프런트엔드 개발에서 선호되는 데이터 요청 도구입니다. 이 기사에서는 Axios 사용 방법과 몇 가지 일반적인 애플리케이션 시나리오를 자세히 소개하고 독자가 참조할 수 있도록 해당 코드 예제를 제공합니다. 액시오스

Vue와 Axios가 힘을 합쳐 프런트엔드 데이터 요청 처리 프로세스를 최적화합니다. Vue와 Axios가 힘을 합쳐 프런트엔드 데이터 요청 처리 프로세스를 최적화합니다. Jul 21, 2023 am 08:09 AM

Vue와 Axios는 프런트엔드 데이터 요청 처리 프로세스를 최적화하기 위해 힘을 합칩니다. 프런트엔드 개발에는 종종 백엔드와의 데이터 상호 작용이 필요하며 데이터 요청 및 처리는 프런트엔드 개발의 핵심 작업 중 하나입니다. Vue.js는 널리 사용되는 프런트엔드 프레임워크이고 Axios는 Promise 기반 HTTP 라이브러리입니다. 이 두 가지를 결합하면 프런트엔드 데이터 요청 처리 프로세스를 크게 최적화할 수 있습니다. 이번 글에서는 Vue와 Axios를 함께 사용하는 방법을 소개하며, 그 예시는 다음과 같습니다. 먼저 프로젝트에 Vue와 Axios를 도입해야 합니다.

Vue2 및 Vue3에서 404 인터페이스를 설정하는 방법에 대해 이야기해 보겠습니다. Vue2 및 Vue3에서 404 인터페이스를 설정하는 방법에 대해 이야기해 보겠습니다. Feb 17, 2023 pm 02:25 PM

이 기사는 Vue 학습을 안내하고 Vue2 및 Vue3에서 404 인터페이스를 설정하는 방법에 대해 설명합니다. 도움이 되기를 바랍니다.

기사에서는 vue2가 댐핑을 사용하여 풀다운 로딩 기능을 구현하는 방법을 자세히 설명합니다. 기사에서는 vue2가 댐핑을 사용하여 풀다운 로딩 기능을 구현하는 방법을 자세히 설명합니다. Feb 20, 2023 pm 12:07 PM

이 기사는 vue2에 대한 관련 지식을 제공합니다. 주로 vue2에서 감쇠된 풀다운 로딩 기능이 구현되는 방법에 대해 설명합니다. 관심 있는 친구는 아래를 살펴보는 것이 모든 사람에게 도움이 되기를 바랍니다.

See all articles