Axios 是一个开源的可以用在浏览器端和 NodeJS 的异步通信框架,她的主要作用就是实现 A JAX 异步通信。
其主要功能如下
Axios官网就是一个github Github
由于 Vue.js 是一个 视图层框架 并且作者(尤雨溪)严格准守 SoC (关注度分离原则),所以
Vue.js 并不包含 A JAX 的通信功能,为了解决通信问题,使用了Axios框架
1.咱们开发的接口大部分都是采用 JSON 格式,可以先在项目里模拟一段 JSON 数据,数据内容如下:创建一个名为 axios.json 的文件并填入上面的内容,放在项目的根目录下。
axios.json
{
"name": "冷丁",
"url": "https://blog.csdn.net/qq_41359998?spm=1011.2124.3001.5343",
"page": 1,
"address": {
"street": "海淀",
"city": "北京",
"country": "中国"
}
}
2.测试代码
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<div id="vue">
<div>名称:{{info.name}}div>
<div>地址:{{info.address.country}}-{{info.address.city}}-{{info.address.street}}div>
<div>链接:<a v-bind:href="info.url" target="_blank" >博客地址a> div>
div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js">script>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js">script>
<script>
var vm=new Vue({
el:'#vue',
data(){
return{
info:{
name:null,
address:{
country:null,
city:null,
street:null
},
url:null
}
}
},
mounted(){
axios.get('axios.json').then(response=>(this.info=response.data));
}
})
script>
body>
html>
注意:
如果网速过慢,可能导致加载数据时存在闪烁问题,解决闪烁问题,可以使用v-cloak标签,让页面在数据加载完毕之前处于白屏状态。