安装 axios:

1
npm install  axios --save-dev

接着在src目录下创建一个http.js脚本中,导入axios并通过create方法实例化一个http请求对象,这样我们才能在组件中使用。

src/http.js,代码:

 1
2
3
4
5
6
7
8
9
10
import axios from "axios"; // 要导入安装的包,则直接填写包名即可。不需要使用路径

// 实例化
const $http = axios.create({
baseURL: 'http://wthrcdn.etouch.cn/', // 请求的公共路径,一般填写服务端的api地址
timeout: 1000, // 最大请求超时时间,请求超过这个时间则报错
headers: {'X-Custom-Header': 'foobar'} // 预定义请求头,一般工作中这里填写隐藏了客户端身份的字段
}); export default $http;

在src/components目录下构建Forecast组件,使用axios模块:

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<template>
<div>
<input type="text" v-model="city">
<button @click="get_weather">获取天气</button>
<table v-if="weather_list.length>1">
<tr>
<th>日期</th>
<th>天气</th>
<th>温度</th>
<th>风向</th>
</tr>
<tr v-for="weather in weather_list">
<td>{{ weather.date }}</td>
<td>{{ weather.type }}</td>
<td>{{ weather.low }}~{{ weather.high }}</td>
<td>{{ weather.fengxiang }}{{ showFengLi(weather.fengli) }}</td>
</tr>
</table>
</div>
</template> <script>
import $http from "../http"; export default {
name: "Forecast",
data() {
return {
city: "北京",
weather_list: [],
}
},
created() {
// 任意一个组件中都可以获取查询参数
console.log(this.$route.query); // 获取所有的查询参数
if (this.$route.query.city) {
this.city = this.$route.query.city
} },
methods: {
get_weather() {
// 发送http请求获取天气
$http.get("http://wthrcdn.etouch.cn/weather_mini", {
params: {
city: this.city,
}
}).then(response => {
console.log(response.data.data.forecast);
this.weather_list = response.data.data.forecast;
}).catch(error => {
console.log(error);
})
},
showFengLi(content) {
return content.replaceAll("<![CDATA[", "").replaceAll("]]>", "");
},
}
}
</script> <style scoped>
table {
width: 800px;
border-collapse: collapse;
} td, th {
border: 1px solid red;
}
</style>

在Home.Vue更新为:

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<template>
<div class="home">
<!-- <img alt="Vue logo" src="../assets/logo.png">-->
<!-- <HelloWorld msg="Welcome to Your Vue.js App"/>-->
<Nav></Nav>
<Forecast></Forecast> </div>
</template> <script>
// @ is an alias to /src
import Nav from '@/components/Nav.vue'
import Forecast from '@/components/Forecast.vue' export default {
name: 'Home',
components: {
Nav,
Forecast
}
}
</script>

 

vue-cli 中使用 Axios的更多相关文章

  1. vue cli中的env详解

    前言 相信使用过 vueCli 开发项目的小伙伴有点郁闷,正常开发时会有三个接口环境(开发,测试,正式),但是 vueCli 只提供了两种 development,production(不包含 tes ...

  2. vue脚手架中使用axios

    虽然之前用过n次,但大多都是直接在页面中引入axios.js的.今天想换种方式使用,一时间竟不知道怎么配置了.特此记录下. 1.npm 安装axios,文件根目录下安装,指令如下:  npm inst ...

  3. 在vue项目中使用axios发送FormData

    这个是axios的中文文档,挺详细的: https://www.kancloud.cn/luponu/axios/873153 文档中的    使用 application/x-www-form-ur ...

  4. Vue Cli 中使用 Karma / Chrome 执行样式相关单元测试

    在 GearCase 开源项目 中,我使用了 Vue Cli 的默认测试框架.因此和样式相关的东西,都无法进行测试.因为它并不类似于无头浏览器,而是存在于虚拟内存之中. 现状 在如下 button.s ...

  5. 在vue项目中的axios使用配置记录

    默认vue项目中已经安装axios,基于element-ui开发,主要记录配置的相关. axiosConfig.js import Vue from 'vue' import axios from ' ...

  6. 介绍vue项目中的axios请求(get和post)

    一.先安装axios依赖,还有qs依赖 npm install axios --save npm install qs --save qs依赖包用post请求需要用到的 插入一个知识点: npm in ...

  7. vue cli 中关于vue.config.js中chainWebpack的配置

    Vue CLI  的官方文档上写:调整webpack配置最简单的方式就是在vue.config.js中的configureWebpack选项提供一个对象. Vue CLI 内部的 webpack 配置 ...

  8. 在使用Vue.js中使用axios库时,遇到415错误(不支持的媒体类型(Unsupported media type))

    知识点:vue2.0中使用axios进行(put,post请求时),遇到415错误 解决办法:在axios的第三个参数config中,设置请求头信息'Content-Type': 'applicati ...

  9. vue.js中使用Axios

    Axios为vue2.0官方推荐HTTP请求工具,之前的是vue-resource 在使用的过程中总结了两种使用方式: 1.和vue-resource使用类似 引入:import axios from ...

  10. vue项目中关于axios的简单使用

    axios介绍 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 官方仓库:https://github.com/axios/axios 中文文档:htt ...

随机推荐

  1. .NET Aspire预览5版本 发布

    2024年4月11日发布了.NET Aspire预览5版本,这个版本引入了对AWS的支持,并对Azure功能进行了改进.重点内容包括拆分Aspire.Hosting和Aspire.Hosting.Az ...

  2. 一步一步实现 .NET 8 部署到 Docker

    一.前言 本文仅针对操作系统为 CentOS 8 的环境下部署方法进行讲述.如有需要,后续将在其他文章中进行其他系统下的部署方式讲解. 二.准备工作 确保服务器已安装 docker. 可以通过命令 d ...

  3. 实训篇-Html-表格练习1

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. asyncio和aiohttp携程并发

    import asyncio from aiohttp import web import time async def process(): for i in range(10): print(&q ...

  5. Filebeat 日志采集工具安装

    Filebeat 是比较轻量的日志采集工具,对于一些简单的采集任务可以直接使用 Filebeat 采集,同时也支持很多的方式输出,可以输出至 Kafka.Elasticsearch.Redis 等,下 ...

  6. mockjs 模拟实现增删改查

    /*mUtils.js用于解析get请求的参数*/ export const param2Obj = url => { const search = url.split('?')[1] if ( ...

  7. linux中nginx的https证书过期替换

    linux中nginx的https证书过期替换 工作记录,不然老是忘 一般提示这个就说明过期了 首先把新的证书换上去,最好和之前的文件名字一样,这样就不用改配置文件了 路径就自己找了需要,不过一般挺好 ...

  8. 二叉查找树的实现C/C++

    二叉查找树是一种关键字有序存放的二叉树.在不含重复关键字的二叉查找树中,关键字"较小"的节点一定在关键字"较大"的节点的左子树中,"较小"一 ...

  9. 行业 SaaS 微服务稳定性保障实战

    简介: 对于Tob企业而言,稳定性即是生命线.那么,面对商户数目暴增, C 端场景业务不断扩展呢,F6汽车科技又是如何搭建可观测体系呢?一线负责人深度解读实际演进过程! 很多研发人员在日常工作中经常回 ...

  10. 跨全端SDK技术演进

    简介: 细想,团队进行跨平台开发已有三年有余,也是集团里面C++方向里比较早涉及该领域的部门之一,伴随业界跨平台技术发展与演进,我们也沉淀了一整套基于C++的跨平台技术体系,本文将以消息SDK为例,详 ...