- Vue快速入门(下)(应急用)
- 八、使用Axios实现异步通信(重点)
- 8.1 什么是Axios
- 8.2 第一个Axios应用程序
- 九、表单输入绑定
- 十、组件基础
- 十一、Vue-cli搭建demo
- 十二、Vue-cli目录结构
Axios是一个开源的可以用在浏览器端和Nodejs的异步通信框架,他的主要作用就是实现Ajax异步通信,其功能特点如下:
- 从浏览器中创建XMLHttpRequests
- 从node.js中创建http请求
- 支持Promise API
- 拦截请求和响应
- 转换请求数据和响应数据
- 取消请求
- 自动转换JSON数据
- 客户端支持防御XSRF(跨站请求伪造)
首先,我们肯定要导入相关的js。
然后我们写我们要显示的标签:(数据是从我们的数据库中拿的,通过访问我之前SpringBoot+MyBatisPlus项目的一个RestController下的接口,记得要在RestController下添加注解@CrossOrigin)
显示的代码如下:
- {{item.id}}--{{item.name}}--{{item.email}}--{{item.age}}
然后最重要的是写我们的axios:
我们的axios,可以参照生命周期那一小节,他让我们写在mounted,人家开发的框架,叫咱怎么写,咱就怎么写就好了。其实,get请求就是.get,post请求就是.post,然后.then表示获取成功的话要怎么执行,.catch表示获取失败的话要怎么执行。(res=>{。。。}是ES6的语法,可以不精通,但是要会用好吧)
new Vue({
el:"#studentList",
data:{
students: []
},
mounted(){
axios.get("http://localhost:8080/list")
.then(res => {
this.students = res.data
})
.catch(function (err) {
console.log(err)
});
}
});
完整代码如下:
获取Json数据
测试
- {{item.id}}--{{item.name}}--{{item.email}}--{{item.age}}
结果:
如果是post请求就麻烦一点,但是看一下下面的代码基本上应该也可以仿着写一个:
添加Json数据
测试
九、表单输入绑定
我们可以用 v-model 指令在表单 、
注意:v-model 会忽略所有表单元素的 value、checked、selected attribute 的初始值而总是将 Vue 实例的数据作为数据来源。我们应该通过 Javascript 在组件的 data 选项中声明初始值。
v-model 在内部为不同的输入元素使用不同的 property 并抛出不同的事件:
- text 和 textarea 元素使用 value property 和 input 事件;
- checkbox 和 radio 使用 checked property 和 change 事件;
- select 字段将 value 作为 prop 并将 change 作为事件。
详细使用可以点击此处看一下官网。写得还挺清晰的。这里就不一一列举了。(其实我上面那个form里面的几个input就是用了表单绑定,也很简单,就是用v-model绑定Vue的data下的某个属性值,然后他们两个始终保持一致。)
十、组件基础什么是组件咧?简单说就是啥也可以是组件,他其实就是我们将公用的区域给拿出来单独写,然后让需要这个组件的页面啊啥的引用这个组件。比如,我们Vue官网的头部菜单栏、左侧的导航栏甚至头部菜单里面的那个搜索的放大镜+搜索框都可以是组件。
定义组件很简单,只需要调用我们的Vue.component方法,第一个参数是组件名,然后是一个对象,props用于关联外部的数据,template是组件的详细代码。
//定义一个组件
Vue.component('my-li',{
props:["prop"],
template:'实例:
组件基础
十一、Vue-cli搭建demo
那么什么是Vue-cli呢?他其实就是官方提供的一个脚手架(预先定义好的目录结构及基础代码),用于快速生成一个Vue的项目模板。
主要功能:
- 统一的目录结构
- 本地调试
- 热部署
- 单元测试
- 集成打包上线
环境准备:node.js(>=6.x,首选8.x) + git
然后我们就可以下载我们的vue-cli了。在cmd中输入:(-g表示全局安装,也就是global的缩写),npm记得设置淘宝的镜像源,会比较快。
npm install -g @vue/cli
下载完成后,我们可以通过vue list命令来查看是否安装完成,如果安装完成的话会这么显示:
如果他跟你说vue不是内部或外部命令啥的,那么,一般就是系统的环境变量没有配置好。怎么办呢?
npm install -g @vue/cli
再执行一次上面这条指令,他会告诉你你已经下载过这个东西了,他在哪个位置。(虽然麻烦了点,会需要一丢丢时间,因为中途他会发现你这个东西已经下载过了。但是总归能解决问题不是。)
等到他告诉你下载失败,因为在某个位置你已经下载过了的时候,他会顺便告诉你在什么位置。你只需要将这个目录(下面演示的目录是D:Program Filesnpm_global)配置到我们系统的环境变量的path中就可以了。
接下来我们就可以通过vue来初始化我们的项目了。使用如下命令行:
vue init webpack [ 项目名 ]
他会问
1、我们项目名是否要叫[刚才命令行的项目名],直接回车
2、然后问我们有没有项目描述,直接回车
3、作者是谁,直接回车
4、后边的也是直接回车或者有问你Yes/No的选择No就好了。
等项目创建完成后,他会告诉我们运行这三条指令来运行我们的vue项目。
最后执行npm run dev指令,他会告诉我们,vue项目已经运行在我们本地的localhost:8080。
打开我们可以看到:
我们打开刚才的项目,然后来说一下他的目录结构。
这个是我们webpack的配置文件
这是我们的源码和静态资源
首页:index.html
项目配置文件:package.json
接下来就是我们的重头戏了,我们的源码:
首先隆重介绍一下,我们的入口函数(也就是程序运行先从哪里开始跑)——main.js,这里他引入了Vue。(跟之前不同的是,不再是用我们的


