2022年2月三日,初三,又是家里蹲的一天,更篇博客吧。
差点忘了,大家
在Vue的项目中,我们会需要用到多次获取数据,不可能一个链接搞定,就比如增删改查,这个怎么看也不会是一个链接就能搞定的。
那我们需要用到多个链接的同时,前面的路径又都是一样的,我们其实完全是可以省略掉的。
首先使用npm安装axios
npm install axios -S
然后在我们的js文件内import引入
import axios from 'axios'
这里面我们就可以对axios写一个默认的链接
let myAxios = axios.create({
// 默认的地址
baseURL:'http://xxxxxxxxxxx.com',
// 超出设置时间返回失败
timeout:5000
})
export function $get( url, params){
return myAxios.get( url, { params })
}
export function $post( url, params){
return myAxios.post( url, params)
}
我们可以在mixin混入的js中去引入一下,使用混入我们得需要使用Vue,而且我们是想让axios在全局都能使用所以这边又得使用到install让他安装在Vue中。
main.js中
// 因为里面的文件名是index,所以就可以省略了
import plugin from './plugin'
Vue.use(plugin)
plugin/index.js中
// 导入之前写的axios方法
import { $get, $post} from './utils/request.js'
const plugin = {
// 刚刚上面说的install安装就是这个,而不是像安装插件的 npm install
install(Vue){
Vue.mixin({
methods:{
// 把$get和$post混入后,全局都可以用this.$get或this.$post来使用
$get,
$post
}
})
}
}
export default plugin
这个时候我们随便找个vue文件去试验
created(){
this.$get('/list').then(({data}){
console.log(data)
})
}
这边可以看到,我的链接只写了一个/list
,这就是前面是用了axios.create的功能,它会自动把上面写的默认链接baseURL
和我们写的/list
进行一个拼接。
那如果我们不想使用baseURL
的默认值了怎么办,如果我们写的链接是http
开头的,它就会自动识别,替换掉我们的默认链接,直接使用新的,如果没有,就会是上面的拼接。
今天就这么多吧,散会。