javascript - 来自文档的简单 Vue Axios 示例,但使用组件
问题描述
这可能是一个非常愚蠢的问题,但相信我,我已经努力弄清楚了,但无济于事。
我有一个 appService.js 文件,我在其中调用 API,如下所示:
import axios from 'axios'
axios.defaults.baseURL = 'https://www.alphavantage.co'
const appService = {
getPosts() {
axios.get(`/query?function=TIME_SERIES_INTRADAY&symbol=MSFT&interval=5min&apikey=xxx`)
.then(response => this.info = response)
}
}
export default appService
然后我有一个 Vue 组件(Stocks.vue),我想在其中显示 {{ info }},如下所示:
<template>
<div>
<h4>{{ info }}</h4>
</div>
</template>
<script>
import appService from '../app.service.js'
export default {
name: 'Stocks',
props: {
msg: String
},
}
</script>
我实际上只是想将我从 API 中获得的所有内容都转储到该标签中。剩下的我会在以后解决。
我基本上是在做 Vue 文档中的简单 Axios 示例,但使用的是组件。(https://vuejs.org/v2/cookbook/using-axios-to-consume-apis.html#Base-Example)
希望这是有道理的!
提前致谢
解决方案
您需要更改appService
函数以返回由axios.get
. 您也不能this
在函数中分配值,但可以在组件中。
export default {
getPosts () {
return axios.get('/query', {
params: { // dealing with a params object is easier IMO
function: 'TIME_SERIES_INTRADAY',
symbol: 'MSFT',
interval: '5min',
apikey: 'xxx'
}
})
}
}
然后在你的组件中,也许在created
钩子中
data () {
return {
info: {} // or some other appropriate default value
}
},
async created () {
this.info = await appService.getPosts()
}
推荐阅读
- python - 如何正确地将拆分函数传递给 TextVectorization 层
- sms - 我们可以在 Mitel Your Site Explorer 上对传入的 SMS 消息进行基于文本的调节吗?
- c++ - 如何接收带有空格的输入,然后将其存储到向量中?
- python - NetworkX 中的最短路径生成器
- r - jsonlite 错误:词法错误:json 文本中的无效字符
- java - 在 bash shell 上使用 Maven 来自动化我的部署工作流程 (github-package-registry)
- geocoding - 当交叉路口包括州际高速公路时地理编码失败
- python - django.db.utils.OperationalError: no such table: Recruiter_jobs table not found 错误?
- node.js - NPM 找不到它认为缓存的文件(errno -4058 没有这样的文件或目录)
- smartcontracts - 意外的基板“ink_env::debug_println”行为