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

Vue優(yōu)化大批量接口請求的實戰(zhàn)指南

 更新時間:2026年04月24日 08:57:40   作者:前端那點事  
在Vue項目開發(fā)中,大批量接口請求是常見場景,本文結(jié)合Vue2/Vue3實戰(zhàn),從請求管控,緩存策略,代碼優(yōu)化和異常處理四大維度,提供可直接落地的優(yōu)化方案,覆蓋核心場景與避坑要點,希望對大家有所幫助

在Vue項目開發(fā)中,大批量接口請求(如列表批量查詢、批量提交、多模塊初始化請求)是常見場景,若不做優(yōu)化,易出現(xiàn)請求阻塞、頁面卡頓、接口超時、服務(wù)器壓力過大等問題,嚴重影響用戶體驗和系統(tǒng)穩(wěn)定性。本文結(jié)合Vue2/Vue3實戰(zhàn),從請求管控、緩存策略、代碼優(yōu)化、異常處理四大維度,提供可直接落地的優(yōu)化方案,覆蓋核心場景與避坑要點。

一、核心痛點分析(優(yōu)化前提)

大批量接口請求的核心問題集中在4點,優(yōu)化需針對性突破:

  • 請求并發(fā)過多:同時發(fā)起數(shù)十個甚至上百個接口請求,超出瀏覽器并發(fā)限制(通常瀏覽器同一域名并發(fā)數(shù)為6個),導(dǎo)致請求排隊、阻塞,頁面加載緩慢;
  • 重復(fù)請求浪費:同一接口短時間內(nèi)多次發(fā)起(如頁面刷新、組件重復(fù)渲染),重復(fù)獲取相同數(shù)據(jù),增加服務(wù)器壓力和網(wǎng)絡(luò)開銷;
  • 數(shù)據(jù)處理低效:大批量請求返回后,頻繁操作DOM或修改響應(yīng)式數(shù)據(jù),觸發(fā)Vue多次重新渲染,導(dǎo)致頁面卡頓;
  • 異常處理缺失:單個請求失敗導(dǎo)致整體流程中斷,或無超時控制、重試機制,影響用戶操作體驗。

二、核心優(yōu)化方案(實戰(zhàn)落地)

請求層面優(yōu)化:管控并發(fā),減少無效請求

核心思路:通過“限制并發(fā)數(shù)、合并請求、取消無效請求”,降低服務(wù)器和瀏覽器的壓力,提升請求響應(yīng)效率。

1. 限制并發(fā)請求數(shù)量(最核心優(yōu)化)

瀏覽器對同一域名的并發(fā)請求數(shù)有明確限制(Chrome為6個),超出部分會排隊等待,導(dǎo)致請求延遲。通過“并發(fā)池”控制同時發(fā)起的請求數(shù)量,避免阻塞。

實戰(zhàn)實現(xiàn)(通用封裝,適配Vue2/Vue3):

// utils/requestPool.js
/**
 * 并發(fā)請求池:限制同時發(fā)起的請求數(shù)量
 * @param {Array} requests - 請求函數(shù)數(shù)組(每個函數(shù)返回Promise)
 * @param {Number} limit - 并發(fā)限制數(shù)(默認6)
 * @returns {Promise} - 所有請求完成后的Promise
 */
export function requestPool(requests, limit = 6) {
  let index = 0; // 當前執(zhí)行的請求索引
  const results = []; // 存儲所有請求結(jié)果
  let resolveAll; // 所有請求完成的回調(diào)

  // 創(chuàng)建Promise,用于等待所有請求完成
  const allPromise = new Promise(resolve => {
    resolveAll = resolve;
  });

  // 執(zhí)行單個請求
  async function run() {
    if (index >= requests.length) {
      // 所有請求執(zhí)行完畢,返回結(jié)果
      resolveAll(results);
      return;
    }
    // 取出當前請求函數(shù)
    const request = requests[index];
    index++;
    try {
      // 執(zhí)行請求,存儲結(jié)果
      const res = await request();
      results.push({ success: true, data: res, index: index - 1 });
    } catch (err) {
      // 捕獲錯誤,存儲錯誤信息
      results.push({ success: false, error: err, index: index - 1 });
    }
    // 遞歸執(zhí)行下一個請求(當前請求完成后,再發(fā)起下一個)
    run();
  }

  // 初始化并發(fā)池,啟動limit個請求
  for (let i = 0; i < limit; i++) {
    run();
  }

  return allPromise;
}

// 頁面中使用(示例:批量獲取列表數(shù)據(jù))
import { requestPool } from '@/utils/requestPool';
import { getListData } from '@/api/list';

// 構(gòu)造請求函數(shù)數(shù)組(每個請求函數(shù)返回Promise)
const requestList = [1,2,3,...,50].map(id => () => getListData(id));

// 限制并發(fā)數(shù)為5,執(zhí)行批量請求
requestPool(requestList, 5).then(results => {
  // 處理所有請求結(jié)果(區(qū)分成功/失敗)
  const successData = results.filter(item => item.success).map(item => item.data);
  const failIds = results.filter(item => !item.success).map(item => item.index + 1);
});

關(guān)鍵說明:并發(fā)數(shù)建議設(shè)置為4-6(匹配瀏覽器并發(fā)限制),避免設(shè)置過高導(dǎo)致服務(wù)器壓力過大,過低影響請求效率。

2. 合并請求,減少接口調(diào)用次數(shù)

對于“批量查詢、批量提交”類場景(如批量查詢多個商品詳情、批量提交多條數(shù)據(jù)),避免循環(huán)發(fā)起單個請求,改為“一次請求攜帶多個參數(shù)”,減少接口調(diào)用次數(shù)。

實戰(zhàn)場景(Vue3示例):

// 優(yōu)化前:循環(huán)發(fā)起單個請求(低效)
const ids = [1,2,3,...,20];
const list = [];
for (const id of ids) {
  const res = await getGoodsDetail(id); // 循環(huán)發(fā)起20次請求
  list.push(res.data);
}

// 優(yōu)化后:合并請求(一次請求)
const ids = [1,2,3,...,20];
const res = await getBatchGoodsDetail({ ids: ids.join(',') }); // 一次請求,攜帶所有id
const list = res.data;

注意:需與后端配合,約定批量接口的參數(shù)格式(如用逗號分隔id、傳遞數(shù)組);若批量數(shù)據(jù)過多(如超過100條),可拆分多個合并請求(如每50條一次),避免請求參數(shù)過長導(dǎo)致接口報錯。

3. 取消無效請求,避免資源浪費

場景:頁面切換、組件銷毀時,之前發(fā)起的請求未完成,會導(dǎo)致無用響應(yīng)占用網(wǎng)絡(luò)資源,甚至引發(fā)數(shù)據(jù)錯亂。需在合適時機取消無效請求。

實戰(zhàn)實現(xiàn)(結(jié)合Axios + Vue3生命周期):

// 1. 封裝Axios,支持取消請求
import axios from 'axios';
// 創(chuàng)建取消令牌生成器
const CancelToken = axios.CancelToken;
let cancel;
// 封裝請求函數(shù)
export function request(config) {
  return axios({
    ...config,
    // 創(chuàng)建取消令牌
    cancelToken: new CancelToken(c => {
      cancel = c; // 保存取消函數(shù),用于后續(xù)取消請求
    })
  });
}
// 提供取消請求的方法
export function cancelRequest(msg = '請求已取消') {
  if (cancel) {
    cancel(msg);
    cancel = null; // 重置取消函數(shù)
  }
}
// 2. 組件中使用(Vue3)
import { onUnmounted } from 'vue';
import { request, cancelRequest } from '@/utils/request';
export default {
  setup() {
    // 組件銷毀時,取消未完成的請求
    onUnmounted(() => {
      cancelRequest('組件已銷毀,取消請求');
    });
    // 發(fā)起請求
    const fetchData = async () => {
      try {
        const res = await request({
          url: '/api/batch/data',
          method: 'get'
        });
        // 處理數(shù)據(jù)
      } catch (err) {
        // 捕獲取消請求的異常(無需提示用戶)
        if (axios.isCancel(err)) {
          console.log('請求已取消:', err.message);
          return;
        }
        // 處理其他錯誤
        ElMessage.error('請求失敗,請重試');
      }
    };
    return { fetchData };
  }
};

Vue2適配:在beforeDestroy鉤子中調(diào)用cancelRequest,邏輯一致。

緩存層面優(yōu)化:復(fù)用數(shù)據(jù),減少重復(fù)請求

核心思路:對“不常變化、高頻訪問”的批量請求數(shù)據(jù)進行緩存,再次請求時直接復(fù)用緩存,避免重復(fù)調(diào)用接口。

1. 內(nèi)存緩存(適合單頁面會話內(nèi)復(fù)用)

通過Vuex/Pinia或全局對象,緩存批量請求的結(jié)果,頁面刷新前有效,適合臨時復(fù)用數(shù)據(jù)(如頁面內(nèi)多個組件共用同一批量數(shù)據(jù))。

實戰(zhàn)實現(xiàn)(Pinia示例,Vue3):

// store/modules/dataCache.js
import { defineStore } from 'pinia';
import { getBatchData } from '@/api/data';

export const useDataCacheStore = defineStore('dataCache', {
  state: () => ({
    batchDataCache: new Map() // 用Map存儲緩存,key為請求參數(shù),value為數(shù)據(jù)
  }),
  actions: {
    // 批量請求并緩存數(shù)據(jù)
    async fetchBatchData(ids) {
      const cacheKey = ids.join(','); // 用ids拼接作為緩存key
      // 檢查緩存,存在則直接返回
      if (this.batchDataCache.has(cacheKey)) {
        return this.batchDataCache.get(cacheKey);
      }
      // 緩存不存在,發(fā)起請求
      const res = await getBatchData({ ids: cacheKey });
      // 存入緩存(可設(shè)置過期時間,優(yōu)化緩存有效性)
      this.batchDataCache.set(cacheKey, res.data);
      // 可選:設(shè)置緩存過期時間(如5分鐘)
      setTimeout(() => {
        this.batchDataCache.delete(cacheKey);
      }, 5 * 60 * 1000);
      return res.data;
    }
  }
});

// 組件中使用
import { useDataCacheStore } from '@/store/modules/dataCache';

export default {
  setup() {
    const dataCacheStore = useDataCacheStore();
    const fetchData = async () => {
      const ids = [1,2,3,...,10];
      // 優(yōu)先從緩存獲取,無緩存則請求
      const data = await dataCacheStore.fetchBatchData(ids);
    };
    return { fetchData };
  }
};

2. 本地存儲緩存(適合跨會話復(fù)用)

對于“長期不變、高頻使用”的批量數(shù)據(jù)(如字典表、分類列表),使用localStorage/sessionStorage緩存,減少頁面初始化時的批量請求。

注意:避免緩存敏感數(shù)據(jù)(如用戶信息);設(shè)置合理的緩存過期時間,避免數(shù)據(jù)過時。

// 封裝緩存工具
export const cacheUtil = {
  // 存入緩存(帶過期時間)
  setCache(key, value, expire = 24 * 60 * 60 * 1000) {
    const cacheData = {
      data: value,
      expireTime: Date.now() + expire
    };
    localStorage.setItem(key, JSON.stringify(cacheData));
  },
  // 獲取緩存(判斷是否過期)
  getCache(key) {
    const cacheStr = localStorage.getItem(key);
    if (!cacheStr) return null;
    const cacheData = JSON.parse(cacheStr);
    // 過期則刪除緩存,返回null
    if (Date.now() > cacheData.expireTime) {
      localStorage.removeItem(key);
      return null;
    }
    return cacheData.data;
  }
};

// 頁面中使用
import { cacheUtil } from '@/utils/cacheUtil';
import { getDictList } from '@/api/dict';

async function fetchDictData() {
  const cacheKey = 'dict_batch_data';
  // 從本地緩存獲取
  const cacheData = cacheUtil.getCache(cacheKey);
  if (cacheData) return cacheData;
  // 緩存不存在,發(fā)起批量請求
  const res = await getDictList({ type: 'all' });
  // 存入緩存(設(shè)置24小時過期)
  cacheUtil.setCache(cacheKey, res.data, 24 * 60 * 60 * 1000);
  return res.data;
}

代碼層面優(yōu)化:減少渲染開銷,提升執(zhí)行效率

核心思路:大批量請求返回后,減少Vue響應(yīng)式數(shù)據(jù)的修改頻率和DOM操作,避免頁面卡頓。

1. 批量修改響應(yīng)式數(shù)據(jù),減少重新渲染

Vue響應(yīng)式數(shù)據(jù)每次修改都會觸發(fā)依賴更新和頁面渲染,大批量數(shù)據(jù)處理時,需避免循環(huán)修改響應(yīng)式數(shù)據(jù),改為“一次性賦值”。

實戰(zhàn)對比(Vue3):

// 優(yōu)化前:循環(huán)修改響應(yīng)式數(shù)據(jù)(觸發(fā)多次渲染,卡頓)
const { reactive } = Vue;
const list = reactive([]);
// 假設(shè)results是批量請求返回的50條數(shù)據(jù)
results.forEach(item => {
  list.push(item.data); // 每push一次,觸發(fā)一次渲染
});

// 優(yōu)化后:一次性賦值(僅觸發(fā)一次渲染)
const { reactive } = Vue;
const list = reactive([]);
// 先將數(shù)據(jù)存入普通數(shù)組,處理完成后一次性賦值
const tempList = [];
results.forEach(item => {
  tempList.push(item.data);
});
list.push(...tempList); // 一次性添加所有數(shù)據(jù),僅觸發(fā)一次渲染

Vue2適配:使用Vue.set批量修改時,同樣先處理普通數(shù)組,再一次性賦值給響應(yīng)式數(shù)組。

2. 虛擬列表渲染,避免DOM過載

若批量請求返回大量數(shù)據(jù)(如1000+條),直接渲染所有數(shù)據(jù)會導(dǎo)致DOM節(jié)點過多,頁面卡頓。使用虛擬列表(如vue-virtual-scroller),只渲染當前可視區(qū)域的內(nèi)容,大幅減少DOM節(jié)點數(shù)量。

實戰(zhàn)實現(xiàn)(Vue3 + vue-virtual-scroller):

<template>
  <virtual-scroller
    class="virtual-list"
    :items="batchData"
    :item-height="60"
    key-field="id"
  >
    <template #default="{ item }">
      <div class="list-item">{{ item.name }}</div>
    </template>
  </virtual-scroller>
</template>
<script setup>
import { ref } from 'vue';
import { VirtualScroller } from 'vue-virtual-scroller';
import 'vue-virtual-scroller/dist/vue-virtual-scroller.css';
import { getBatchData } from '@/api/data';
const batchData = ref([]);
// 批量請求數(shù)據(jù)
async function fetchData() {
  const res = await getBatchData({ page: 1, size: 1000 });
  batchData.value = res.data; // 無需分頁,直接賦值給虛擬列表
}
fetchData();
</script>
<style scoped>
.virtual-list {
  height: 500px; /* 固定可視區(qū)域高度 */
  overflow-y: auto;
}
.list-item {
  height: 60px; /* 與item-height一致 */
  line-height: 60px;
}
</style>

3. 防抖節(jié)流,避免重復(fù)觸發(fā)請求

對于“搜索、篩選”類批量請求(如輸入關(guān)鍵詞后批量查詢),使用防抖(debounce)或節(jié)流(throttle),避免用戶頻繁操作導(dǎo)致多次發(fā)起批量請求。

// 封裝防抖函數(shù)
export function debounce(fn, delay = 300) {
  let timer = null;
  return function(...args) {
    clearTimeout(timer);
    timer = setTimeout(() => {
      fn.apply(this, args);
    }, delay);
  };
}

// 組件中使用
import { debounce } from '@/utils/tools';
import { getBatchSearch } from '@/api/search';

export default {
  setup() {
    // 防抖處理批量搜索請求,延遲300ms執(zhí)行
    const handleSearch = debounce(async (keyword) => {
      const res = await getBatchSearch({ keyword, size: 50 });
      // 處理數(shù)據(jù)
    }, 300);

    return { handleSearch };
  }
};

異常處理優(yōu)化:提升穩(wěn)定性,優(yōu)化用戶體驗

核心思路:針對大批量請求的“超時、失敗、部分成功”場景,做容錯處理,避免整體流程中斷,提升用戶體驗。

1. 超時控制,避免請求掛起

為批量請求設(shè)置合理的超時時間(如10-15秒),避免請求長時間掛起,占用網(wǎng)絡(luò)資源,同時給用戶明確的反饋。

// Axios全局配置超時時間
import axios from 'axios';

axios.defaults.timeout = 12000; // 全局超時12秒

// 單個批量請求單獨設(shè)置超時(按需)
export function getBatchData(params) {
  return axios({
    url: '/api/batch/data',
    method: 'get',
    params,
    timeout: 15000 // 批量請求超時時間可適當延長
  });
}

2. 失敗重試,提升成功率

對于臨時網(wǎng)絡(luò)波動導(dǎo)致的請求失敗,設(shè)置自動重試機制(如重試2次),避免用戶手動重試,提升批量請求的成功率。

// 封裝帶重試機制的請求函數(shù)
export async function requestWithRetry(config, retryCount = 2) {
  try {
    const res = await axios(config);
    return res;
  } catch (err) {
    // 若未超過重試次數(shù),繼續(xù)重試
    if (retryCount > 0) {
      console.log(`請求失敗,剩余重試次數(shù):${retryCount}`);
      return requestWithRetry(config, retryCount - 1);
    }
    // 重試次數(shù)耗盡,拋出錯誤
    throw new Error('請求失敗,請檢查網(wǎng)絡(luò)后重試');
  }
}

// 批量請求中使用
const res = await requestWithRetry({
  url: '/api/batch/data',
  method: 'get',
  params: { ids: '1,2,3,...,50' }
}, 2); // 失敗重試2次

3. 部分失敗處理,不中斷整體流程

大批量請求中,可能出現(xiàn)“部分請求成功、部分失敗”的情況(如批量提交10條數(shù)據(jù),2條失?。?,需單獨處理失敗項,不中斷整體流程,同時提示用戶失敗原因。

// 結(jié)合并發(fā)池,處理部分失敗場景
requestPool(requestList, 5).then(results => {
  const successData = [];
  const failList = [];
  results.forEach((item, index) => {
    if (item.success) {
      successData.push(item.data);
    } else {
      // 記錄失敗的請求索引和原因
      failList.push({
        id: index + 1,
        error: item.error.message
      });
    }
  });
  // 提示用戶結(jié)果
  ElMessage.success(`批量請求完成,成功${successData.length}條,失敗${failList.length}條`);
  // 若有失敗項,可展示失敗原因或提供重試按鈕
  if (failList.length > 0) {
    console.log('失敗詳情:', failList);
    // 可選:自動重試失敗項
    const failRequests = failList.map(item => () => requestList[item.id - 1]());
    requestPool(failRequests, 2).then(failResults => {
      // 處理重試結(jié)果
    });
  }
});

三、Vue2與Vue3優(yōu)化差異(注意要點)

  • 響應(yīng)式處理:Vue3使用reactive/ref,批量修改時可直接操作普通數(shù)組后一次性賦值;Vue2使用Vue.set,避免直接修改數(shù)組索引,同樣建議一次性賦值。
  • 狀態(tài)管理:Vue3推薦使用Pinia緩存數(shù)據(jù),API更簡潔;Vue2使用Vuex,需通過mutations/actions修改緩存。
  • 生命周期:Vue3使用onUnmounted取消請求;Vue2使用beforeDestroy,邏輯一致。
  • 虛擬列表:Vue3可使用vue-virtual-scroller@next版本;Vue2使用vue-virtual-scroller舊版本,配置略有差異。

四、優(yōu)化總結(jié)與落地建議

Vue大批量接口請求優(yōu)化,核心是“減少請求次數(shù)、控制并發(fā)數(shù)量、復(fù)用數(shù)據(jù)、減少渲染開銷”,落地時需結(jié)合實際場景(請求類型、數(shù)據(jù)量、用戶操作)靈活選擇方案:

  1. 高頻批量查詢:優(yōu)先使用“合并請求 + 緩存”,減少接口調(diào)用;
  2. 大量數(shù)據(jù)渲染:結(jié)合“虛擬列表”,避免DOM過載;
  3. 用戶交互類批量請求(如篩選、搜索):使用“防抖 + 并發(fā)限制”,避免無效請求;
  4. 關(guān)鍵業(yè)務(wù)批量請求(如批量提交):添加“超時控制 + 失敗重試 + 部分失敗處理”,提升穩(wěn)定性。

同時,需與后端密切配合(如提供批量接口、優(yōu)化接口響應(yīng)速度),前端優(yōu)化與后端優(yōu)化結(jié)合,才能最大化提升大批量接口請求的效率和用戶體驗。

五、優(yōu)化落地清單(簡潔版)

核心優(yōu)化動作,直接對照落地,適配Vue2/Vue3:

  1. 請求管控:用并發(fā)池限制并發(fā)數(shù)(4-6個),合并批量請求(避免循環(huán)調(diào)用),組件銷毀時取消無效請求;
  2. 緩存復(fù)用:高頻不變數(shù)據(jù)用Pinia/Vuex做內(nèi)存緩存,長期不變數(shù)據(jù)用localStorage做本地緩存(設(shè)過期時間);
  3. 渲染優(yōu)化:批量修改響應(yīng)式數(shù)據(jù)時先存普通數(shù)組再一次性賦值,1000+條數(shù)據(jù)用虛擬列表渲染;
  4. 異常處理:全局/單獨設(shè)置超時(10-15秒),失敗請求重試2次,部分失敗單獨處理不中斷整體流程;
  5. 交互優(yōu)化:搜索/篩選類請求加防抖(300ms),避免頻繁觸發(fā)批量請求;
  6. 版本適配:Vue3用Pinia+onUnmounted,Vue2用Vuex+beforeDestroy,虛擬列表按版本選擇對應(yīng)依賴。

以上就是Vue優(yōu)化大批量接口請求的實戰(zhàn)指南的詳細內(nèi)容,更多關(guān)于Vue接口請求優(yōu)化的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vue3項目中引入ts的詳細圖文教程

    vue3項目中引入ts的詳細圖文教程

    最近項目需要將原vue項目結(jié)合ts的使用進行改造,這個后面應(yīng)該是中大型項目的發(fā)展趨勢,下面這篇文章主要給大家介紹了關(guān)于vue3項目中引入ts的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Vue openLayers實現(xiàn)圖層數(shù)據(jù)切換與加載流程詳解

    Vue openLayers實現(xiàn)圖層數(shù)據(jù)切換與加載流程詳解

    OpenLayers是一個用于開發(fā)WebGIS客戶端的JavaScript包,最初基于BSD許可發(fā)行。OpenLayers是一個開源的項目,其設(shè)計之意是為互聯(lián)網(wǎng)客戶端提供強大的地圖展示功能,包括地圖數(shù)據(jù)顯示與相關(guān)操作,并具有靈活的擴展機制
    2022-09-09
  • vue backtop組件的實現(xiàn)完整代碼

    vue backtop組件的實現(xiàn)完整代碼

    這篇文章主要介紹了vue backtop組件的實現(xiàn)完整代碼,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • 淺談vue中g(shù)et請求解決傳輸數(shù)據(jù)是數(shù)組格式的問題

    淺談vue中g(shù)et請求解決傳輸數(shù)據(jù)是數(shù)組格式的問題

    這篇文章主要介紹了淺談vue中g(shù)et請求解決傳輸數(shù)據(jù)是數(shù)組格式的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue利用openlayers實現(xiàn)動態(tài)軌跡

    vue利用openlayers實現(xiàn)動態(tài)軌跡

    這篇文章主要為大家介紹了vue利用openlayers實現(xiàn)動態(tài)軌跡,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • ElementUi中select框在頁面滾動時el-option超出元素區(qū)域的問題解決

    ElementUi中select框在頁面滾動時el-option超出元素區(qū)域的問題解決

    本文主要介紹了ElementUi中select框在頁面滾動時el-option超出元素區(qū)域的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Vue3封裝 Message消息提示實例函數(shù)詳解

    Vue3封裝 Message消息提示實例函數(shù)詳解

    這篇文章主要介紹了Vue3封裝 Message消息提示實例函數(shù),具有一定的實用價值,需要的朋友可以參考下,希望能夠給你帶來幫助
    2021-09-09
  • 詳解VUE-地區(qū)選擇器(V-Distpicker)組件使用心得

    詳解VUE-地區(qū)選擇器(V-Distpicker)組件使用心得

    這篇文章主要介紹了詳解VUE-地區(qū)選擇器(V-Distpicker)組件使用心得,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • vue項目中存儲與使用后端傳遞過來的token

    vue項目中存儲與使用后端傳遞過來的token

    vue作為一個單頁面應(yīng)用,vuex作為它的狀態(tài)管理工具,它至少是可以很好的保存這個token值,下面這篇文章主要給大家介紹了關(guān)于vue項目中存儲與使用后端傳遞過來的token的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • 手把手教你使用vue-cli腳手架(圖文解析)

    手把手教你使用vue-cli腳手架(圖文解析)

    本篇文章主要介紹了手把手教你使用vue-cli腳手架(圖文解析),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11

最新評論

内江市| 枣阳市| 衡阳市| 凯里市| 东阳市| 绿春县| 莲花县| 桃园县| 西充县| 响水县| 克拉玛依市| 锦屏县| 广西| 九台市| 海门市| 泸西县| 临潭县| 湖南省| 湖北省| 定结县| 房山区| 本溪| 崇左市| 泽州县| 鲜城| 金坛市| 日照市| 察雅县| 德安县| 东丽区| 兰西县| 抚远县| 文化| 永福县| 项城市| 年辖:市辖区| 巴东县| 望奎县| 郓城县| 广水市| 韩城市|