Javaweb之Vue组件库Element案例异步数据加载的详细解析

4.4.3.6 异步数据加载
4.4.3.6.1 异步加载数据

对于案例,我们只差最后的数据了,而数据的mock地址已经提供:http://yapi.smart-xwork.cn/mock/169327/emp/list

我们最后要做的就是异步加载数据,所以我们需要使用axios发送ajax请求。

在vue项目中,对于axios的使用,分为如下2步:

  1. 安装axios: npm install axios

  2. 需要使用axios时,导入axios: import axios 'axios'

接下来我们先来到项目的执行终端,然后输入命令,安装axios,具体操作如下图所示:

Javaweb之Vue组件库Element案例异步数据加载的详细解析_第1张图片

然后重启项目,来到我们的EmpView.vue组件页面,通过import命令导入axios,代码如下:

import axios  'axios';

那么我们什么时候发送axios请求呢?页面加载完成,自动加载,所以可以使用之前的mounted钩子函数,并且我们需要将得到的员工数据要展示到表格,所以数据需要赋值给数据模型tableData,所以我们编写如下代码:

 mounted(){
        axios.get("http://yapi.smart-xwork.cn/mock/169327/emp/list")
        .then(resp=>{
            this.tableData=resp.data.data; //响应数据赋值给数据模型
        });
    }

此时浏览器打开,呈现如下效果:

Javaweb之Vue组件库Element案例异步数据加载的详细解析_第2张图片

但是很明显,性别和图片的内容显示不正确,所以我们需要修复。

4.4.3.6.2 性别内容展示修复

首先我们来到ElementUI提供的表格组件,找到如下示例:

Javaweb之Vue组件库Element案例异步数据加载的详细解析_第3张图片

我们仔细对比效果和功能实现代码,发现其中涉及2个非常重要的点: