四、Vue CLI-异步请求(axios)
一、模块的安装
npm install axios --save
#--save可以不用写
如图:

二、配置main.js
import axios from 'axios'
Vue.prototype.$axios = axios;
如图:

三、简单使用示例
页面加载时执行:
<template>
<div class="header">{{title}}</div>
</template> <script>
//当前组件的脚本
export default{
// 当前组件的名称
name:"test", //非必填项,则自动以文件名为主
data(){
return {//当前组件中所有的数据 title:'猫眼电影' };
},methods:{ //当前组件中所有的函数 //普通的方法
xx:function(){
alert("调用普通方法");
} },created()
{
window.console.log("页面加载完毕之前执行,执行顺序:父组件-子组件");
this.xx(); },mounted()
{
window.console.log("页面加载完毕之前执行,执行顺序:子组件-父组件"); }
}
</script> <style>
.header{
height: 1.25rem;
line-height: 2.5;
background: #e54847;
color: #fff;
text-align: center;
font-size: 0.5rem;
}
</style>
点击按钮执行:
<template>
<div>
<div v-show="show">HelloWorld</div>
<button @click="handleClick">Click</button>
<ul>
<li v-for="(item,index) of list" :key="index">{{item}}</li>
</ul>
</div>
</template>
<script>
export default {
name: "test",
data() {
return {
show: true,
list: [1, 2, 3]
};
},
methods: {
handleClick: function() {
this.show = !this.show;
}
}
};
</script>
异步请求的

代码如下:
<template>
<div>
<div v-show="show">HelloWorld</div>
<button @click="handleClick">Click</button>
<ul>
<li v-for="(item,index) of list" :key="index">{{item}}</li>
</ul>
</div>
</template>
<script>
export default {
name: "test",
data() {
return {
show: true,
list: [1, 2, 3]
};
},
methods: {
handleClick: function() { this.$axios({
url: 'http://wthrcdn.etouch.cn/weather_mini?citykey=101010100', // 后台接口
method: 'get', // 请求方式
}).then(response => { // 请求成功
window.console.log('请求成功');
window.console.log(response.data);
this.course_ctx = response.data; // 将后台数据赋值给前台变量完成页面渲染
}).catch(error => { // 请求失败
window.console.log('请求失败');
window.console.log(error);
}) }
}
};
</script>
四、路由跳转与参数
可以使用 this.$router.push(location) 来更改url,完成跳转

代码如下:
接受页面:
<template>
<div>
<div>Test2页面</div>
<div>{{this.$route.params.user}}</div>
<button @click="write">打印接收的参数</button>
</div>
</template>
<script>
export default {
name:"test2",
data(){
return {
status:true
}
},
methods:{
write(){
window.console.log(this.$route.params.user);
}
}
}
</script>
<style>
</style>
点击跳转页面
<template>
<div>
<div v-show="show">HelloWorld</div>
<button @click="handleClick">Click</button>
<ul>
<li v-for="(item,index) of list" :key="index">{{item}}</li>
</ul>
</div>
</template>
<script>
export default {
name: "test",
data() {
return {
show: true,
list: [1, 2, 3]
};
},
methods: {
handleClick: function() { //this.$router.push('/test2') this.$router.push('/test2?user="wise"') //接受页面 this.$route.query.user /*this.$router.push({
name:'test2',
params:{
user:"wise"
}
})*/ }
}
};
</script>
四、Vue CLI-异步请求(axios)的更多相关文章
- vue处理异步请求
vue 处理异步请求 项目中需要 先调一个接口去取到人员编号,再去调另一个借口,人员编号作为参数才能去请求数据 用setTimeout 其实也可以,先new了一个promise对象 ,把请求放在里面, ...
- vue中异步请求渲染问题(swiper不轮播)(在开发过程中遇到过什么问题、踩过的坑)
问题描述: 用vue封装一个swiper组件的时候,发现轮播图不能轮播了. 原因: 异步请求的时间远大于生命周期执行的时间,mounted初始化DOM时数据未返回,渲染数据是空数组,导致轮播图的容器层 ...
- vue发送ajx请求 axios
一. 简介 1.vue本身不支持发送AJAX请求,需要使用vue-resource(vue1.0版本).axios(vue2.0版本)等插件实现 2.axios是一个基于Promise的HTTP请求客 ...
- 在双重for循环内部使用async异步请求axios中遇到的问题
在methods中的方法 async getPro () { let _this = this let newArr = [] await axios.get(`api/v1/dailyProTbms ...
- 记一次vue 普通异步请求微信二进制二维码 乱码 问题解决然后渲染
后端压力大,前端分忧. /*用微信小程序token拿二维码*/ async fetchMINIQRcode({commit,state},params){ var instance = axios.c ...
- 09.1.VUE学习之watch监听属性变化实现类百度搜索栏功能ajax异步请求数据,返回数组
09.1html里 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...
- 09.VUE学习之watch监听属性变化实现类百度搜索栏功能ajax异步请求数据,返回字符串
cmd下安装axios npm install axios 安装好后,会多出node_modules文件夹 思路: 监听data里的word改变时,发送ajax异步请求数据, 把返回的数据赋值给dat ...
- SpringBoot中异步请求和异步调用(看这一篇就够了)
原创不易,如需转载,请注明出处https://www.cnblogs.com/baixianlong/p/10661591.html,否则将追究法律责任!!! 一.SpringBoot中异步请求的使用 ...
- Spring Boot 异步请求和异步调用,一文搞定
一.Spring Boot中异步请求的使用 1.异步请求与同步请求 特点: 可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在耗时处理完成(例如 ...
- Vue+axios的四种异步请求,参数的携带以及接收
Vue中axios发送GET, POST, DELETE, PUT四种异步请求,参数携带和接收问题 web.xml配置如下 1.GET请求 发送GET请求: <!--params是关键字,说明所 ...
随机推荐
- C++11获取当前毫秒数
获取当前毫秒数 主要是打印日志的时候用到 / CLOCKS_PER_SEC); 头文件为ctime
- vue动态构造下拉
在点击菜单的进入后台初始化方法 @RequestMapping("/init") public String init(@ModelAttribute("response ...
- [Java]使用正则表达式实现分词
手工分词稍嫌麻烦,不好维护,而利用正则表达式就利索多了.Java提供了java.util.regex.Matcher,java.util.regex.Pattern类来帮助我们实现此功能. 例一:以下 ...
- cinder-----常用命令
云硬盘的创建查询 #创建卷类型 cinder type-create rbd #rbd是云硬盘类型名称,可自行定义 #查询卷类型 cinder type-list #卷类型扩展规格 cinder ty ...
- while循环嵌套
<1>while嵌套的格式 while 条件1: 条件1满足时,做的事情1 条件1满足时,做的事情2 条件1满足时,做的事情3 ...(省略)... while 条件2: 条件2满足时,做 ...
- 【8】ie css hack
1. "\9" IE6/IE7/IE8/IE9/IE10都生效 "\0" IE8/IE9/IE10都生效,是IE8/9/10的hack "\9 ...
- PowerBuilder -- 连接sqlite
1.注册表修改,将以下内容保存为.reg文件,然后双击执行,注:测试机器为win10 64位系统 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MA ...
- git远程分支被误删,本地分支还存在,如何恢复远程分支?
做项目的时候碰到了这样一件事:本地分支存在,远程分支不在了,如图: (git branch -a 是查看本地和远程分支,红色部分是远程分支) (git branch -r 是查看远程分支的) 奇怪的是 ...
- easyui tree checkbox 单选控制
参考文档:中文网:http://www.jeasyui.net/plugins/185.html easyui-tree的checkbox默认是多选的, 如何控制只能单选一个子节点,看代码: $('# ...
- Web09_MySQL多表&JDBC
使用JDBC发送insert语句完成单表[添加]操作 使用JDBC发送update语句完成单表[更新]操作 使用JDBC发送delete语句完成单表[删除]操作 使用JDBC发送select语句完成单 ...