Vue ElementUI操作 和 Axios使用

目录

一、ElementUI

[1.简介 :](#1.简介 :)

[2.安装 :](#2.安装 :)

[3.配置 :](#3.配置 :)

[4.使用 :](#4.使用 :)

二、Axios

[1.简介 :](#1.简介 :)

[2.安装 :](#2.安装 :)

[3.实例 :](#3.实例 :)

[3.1 数据准备](#3.1 数据准备)

[3.2 应用实例](#3.2 应用实例)

[3.3 内容补充](#3.3 内容补充)


一、ElementUI

1.简介 :

ElementUI,是一套为开发者、设计师和产品经理准备的基于Vue 2.0的桌面端组件库。ElementUI提供了常用的组件及其相关代码,如下图所示 :

Element-UI组件的链接如下 :

Element - The world's most popular Vue UI framework

2.安装 :

在IDEA中打开Vue CLI项目,通过指令"npm i element-ui@2.12.0"安装Element-UI,如下图所示 :

3.配置 :

main.js中添加以下代码来引入ElementUI :

javascript 复制代码
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

//Vue使用插件需要引入
Vue.use(ElementUI);

如下图所示 :

4.使用 :

安装配置完成后,可以在官网直接复制组件的代码,粘贴到需要使用的地方即可。
eg :

复制"百分比进度条"的代码段,并用div对其进行样式控制,将代码复制到HelloWorld.vue组件

"百分比进度条"的代码段如下 :

html 复制代码
    <div style="width: 500px; margin: 0 auto">
    <el-progress :text-inside="true" :stroke-width="26" :percentage="70"></el-progress>
    <el-progress :text-inside="true" :stroke-width="24" :percentage="100" status="success"></el-progress>
    <el-progress :text-inside="true" :stroke-width="22" :percentage="80" status="warning"></el-progress>
    <el-progress :text-inside="true" :stroke-width="20" :percentage="50" status="exception"></el-progress>
    </div>

将其复制到HelloWorld.vue组件中的div最后,如下图所示 :

运行效果 :


二、Axios

1.简介 :

Axios[æk'siəʊ:s],是一个基于promise的HTTP库,可以用在浏览器和Node.js中。Axios通常和Vue一起使用,实现Ajax操作。

2.安装 :

下载地址如下 :https://unpkg.com/axios@1.6.2/dist/axios.min.js

类似于JQuery,通过"Ctrl + s"直接保存到本地即可,在使用时通过<script></script>标签引入。

3.实例 :

3.1 数据准备

用.json文件来模拟要访问的数据,students.json代码如下 :

javascript 复制代码
{
  "success": true,
  "message": "SUCCESS",
  "data": {
    "items": [
      {
        "name": "Cyan",
        "gender": "M",
        "score": 450
      },
      {
        "name": "Rain",
        "gender": "F",
        "score": 435
      },
      {
        "name": "Eisen",
        "gender": "M",
        "score": 442
      }
    ]
  }
}

3.2 应用实例

利用Axios发出Ajax请求,获取到students.json中保存的数据,并渲染到页面上。

axios_application.html代码如下 :

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Demonstrate Axios</title>
    <script type="text/javascript" src="../vue.js"></script>
    <script type="text/javascript" src="https://unpkg.com/axios@1.6.2/dist/axios.min.js"></script>
    <style type="text/css">
        table, tr, td {
            border: 2px hotpink solid;
            border-collapse: collapse;
        }

        table {
            width: 450px;
            background-color: lightcyan;
        }
    </style>
</head>
<body>
<div id="app">
    <div id="h2-div">
        <h2>{{info}}</h2>
    </div>
    <table>
        <tr>
            <td>number</td>
            <td>name</td>
            <td>gender</td>
            <td>score</td>
        </tr>
        <!--
            使用"列表渲染"遍历数组;
            使用v-for遍历数组时,支持第二个参数index
        -->
        <tr v-for="(stu,index) in students">
            <td>{{index}}</td>
            <td>{{stu.name}}</td>
            <td>{{stu.gender}}</td>
            <td>{{stu.score}}</td>
        </tr>
    </table>
</div>
<script type="text/javascript">
    let vm = new Vue({
        el: "#app",
        data: {
            info: "-----------students:-----------",
            students: []
        },
        methods: {
            //利用Axios,发出Ajax请求
            list() {
                /*
                    (1) 通过axios.get()方法发出Ajax请求;
                    (2) "http://localhost:63342/Axios_Demo/data/students.json"表示URL
                    (3) axios发出Ajax请求的基本语法------------
                        axios.get(url).then(箭头函数).then(箭头函数)...catch(箭头函数)
                        其中,"箭头函数"为请求成功后执行的回调函数,get请求成功会进入一个then();
                        可以在第一个then()中继续发出axios的Ajax请求,若发生异常则进入catch().
                    (4) list方法在生命周期函数created()中被调用(发出Ajax请求)
                 */
                axios.get("http://localhost:63342/Axios_Demo/data/students.json")
                    //ES6新特性---------箭头函数(简写形式)
                    .then(response => {
                        console.log("response =", response);
                        console.log("response.data =", response.data);
                        console.log("response.data.data =", response.data.data);
                        console.log("response.data.data.items =", response.data.data.items);
                        //通过Data Bindings将Model中的数据渲染到View
                        //先将得到的items数据赋值给data数据池中的students属性
                        this.students = response.data.data.items;
                    }).catch(err => {
                    console.log("exception! err :",err);
                })
            }
        },
        created() {
            this.list();
        }
    })
</script>
</body>
</html>

页面渲染效果如下图所示 :

控制台打印信息如下 :

3.3 内容补充

控制台直接打印出的json数据经过层层封装,不够直观,可以通过JSON.stringify()方法将json对象转换为字符串,如下图所示 :

https://www.json.cn/网站中复制打印出的JSON字符串,可以直观地看到JSON对象的格式,如下图所示 :

System.out.println("END------------------------------------------------------");

相关推荐
Agome993 分钟前
Docker之nginx安装
java·nginx·docker
向日葵花籽儿5 分钟前
#运维 | 前端 # Linux http.server 实践:隐藏长文件名,简短路径 (http://IP:port/别名 ) 访问
linux·运维·前端
zheshiyangyang18 分钟前
uni-app学习【pages】
前端·学习·uni-app
java1234_小锋35 分钟前
说说你对Integer缓存的理解?
java·开发语言
至此流年莫相忘1 小时前
TypeReference 泛型的使用场景及具体使用流程
java·开发语言·spring boot
nightunderblackcat1 小时前
新手向:异步编程入门asyncio最佳实践
前端·数据库·python
井云AI1 小时前
井云智能体封装小程序:独立部署多开版 | 自定义LOGO/域名,打造专属AI智能体平台
人工智能·后端·小程序·前端框架·coze智能体·智能体网站·智能体小程序
前端工作日常1 小时前
我的 Jasmine 入门之旅
前端·单元测试·测试
前端小巷子1 小时前
Vue 3 运行机制
前端·vue.js·面试
Warren981 小时前
Spring Boot 拦截器返回中文乱码的解决方案(附全局优化思路)
java·网络·spring boot·redis·后端·junit·lua