Vue2中使用axios的3種方法實例總結(jié)
第一種 原始方法 直接在項目中使用(不建議使用)
這種方法最簡單粗暴
優(yōu)點:不需要做封裝,不需要做配置傻瓜式操作,不需要做異步處理
缺點:代碼太繁瑣,當(dāng)遇到請求過多的時候,這樣寫不適合讀寫
注意:如果你封裝的請求有問題解決不掉,可以用這種最原始的方式來解決
<template> <div>{{data}}</div> </template> <script> /* 第一步下載 axios 命令:npm i axios 或者yarn add axios 或者pnpm i axios */ /* 第二步引入axios */ import axios from 'axios' export default { data() { return { data:"" }; }, methods: { /* 第三步 寫一個name事件 */ name() { axios({ method: "get", url: "http://yufei.shop:3000/tabbar", }).then(res=>{ this.data = res.data /* 將拿到的值,賦值給data */ }) }, }, /* 第四步 在create鉤子函數(shù)中 將name事件在頁面出現(xiàn)的時候執(zhí)行 */ created() { this.name(); }, }; </script>
第二種 將請求掛載到全局( 推薦使用 )
優(yōu)點:代碼量減少,代碼清晰,掛載到全局多處可以使用
缺點:vue3中不能這么使用,vue3換了一種方法來掛在全局
在main.js中
// 引入 axios import axios from 'axios' // 掛載一個自定義屬性$http Vue.prototype.$http = axios // 全局配置axios請求根路徑(axios.默認配置.請求根路徑) axios.defaults.baseURL = 'http://yufei.shop:3000'
在App.js中
<template> <div>{{ data }}</div> </template> <script> export default { data() { return { data:"" }; }, methods:{ async name() { //async await 是解決異步的一種方案,必須要加,但是原生封裝就不用 const {data:res} = await this.$http.get('/tabbar') this.data = res } }, created(){ this.name() } }; </script>
第三種 將代碼進行封裝
優(yōu)點:代碼量減少,代碼清晰,掛載到全局多處可以使用,可以多層封裝,vue3也可以這么使用
我們在src文件夾種創(chuàng)建一個文件叫APi ,然后在APi當(dāng)前文件夾下創(chuàng)建一個request.js文件
目錄結(jié)構(gòu)如下
request.js代碼如下
// 引入 axios import axios from 'axios' // 封裝 baseURL const request = axios.create({ baseURL:"http://yufei.shop:3000" }) // 向外暴露 request export default request;
組件APP.vue代碼如下
<template> <div>{{ data }}</div> </template> <script> // 1. 導(dǎo)入request import request from '@/APi/request.js' export default { data() { return { data:"" }; }, methods:{ // 事件name async name() { const res = await request.get('/tabbar') this.data = res.data } }, // 生命周期函數(shù)created中調(diào)用 事件name created(){ this.name() } }; </script>
總結(jié)
到此這篇關(guān)于Vue2中使用axios的3種方法的文章就介紹到這了,更多相關(guān)Vue2使用axios內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3?TypeScript?實現(xiàn)useRequest詳情
本文介紹了Vue3?TypeScript實現(xiàn)useRequest詳情,useRequest可能是目前社區(qū)中最強大,最接地氣的請求類?Hooks了??梢愿采w99%的網(wǎng)絡(luò)請求場景,無論是讀還是寫,無論是普通請求還是分頁請求,無論是緩存還是防抖節(jié)流,通通都能支持,關(guān)于其介紹需要的小伙伴可以參考一下2022-05-05Vue Element-UI中el-table實現(xiàn)單選的示例代碼
在element-ui中是為我們準備好了可直接使用的單選與多選屬性的,本文主要介紹了Vue Element-UI中el-table實現(xiàn)單選的示例代碼,具有一定的參考價值,感興趣的可以了解一下2023-12-12Vue中watch監(jiān)聽第一次不觸發(fā)、深度監(jiān)聽問題
這篇文章主要介紹了Vue中watch監(jiān)聽第一次不觸發(fā)、深度監(jiān)聽問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10解決vscode?Better?Comments插件在vue文件中不顯示相對應(yīng)的顏色的問題
最近使用了Better?Comments這款插件,發(fā)現(xiàn)在ts文件中可以顯示對應(yīng)的顏色,但在vue文件中并不顯示對應(yīng)顏色?,下面小編給大家分享解決方法,感興趣的朋友跟隨小編一起看看吧2022-09-09Vue在自定義指令綁定的處理函數(shù)中傳遞參數(shù)
這篇文章主要介紹了Vue在自定義指令綁定的處理函數(shù)中傳遞參數(shù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03