【发布时间】:2020-02-11 04:32:18
【问题描述】:
我有一个外部 api,它返回一个用户的 json,其中包含一些属性,如用户名。我想在我的 vue 方法中使用这个用户名作为 url 参数并定义函数 getUser()。我的问题是参数未定义
这是我的代码
<script>
import Axios from 'axios-observable'
export default {
data () {
return {
appointments: {},
event_counter: 0,
user: ''
},
methods: {
getUser: function () {
Axios
.get('http://127.0.0.1:5000/users/get_user')
.subscribe(response => { this.user = response.data.username })
},
getAppointments: function () {
Axios
.get('http://127.0.0.1:5000/appointments/get_appointments?user=' + this.user)
.subscribe(response => { this.appointments = response.data })
},
fetchData: function () {
setInterval(() => {
this.getAppointments()
}, 150000)
}
},
mounted () {
//this.user = this.getUser()
this.getUser()
this.fetchData()
},
created () {
//this.user = this.getUser()
this.getUser()
this.getAppointments()
}
}
</script>
我尝试了return response.data 或data: this.getUser() 等的一些变体。使用{{ user }} 在模板中获取用户工作正常,但没有帮助。我没有来自 vue/electron-vue 的任何语法或运行时错误
有什么想法吗?
【问题讨论】:
-
.subscribe(response => { this.user response.data.username })你在这里缺少=吗? (在getUser函数中) -
@JamesWhiteley 是的,但只是在 stackoverflow 代码中。复制和粘贴错误。
-
可以在浏览器中直接访问链接127.0.0.1:5000/users/get_user吗?如果是这样,它是否显示了您的预期?
-
@TaulantGeci 明白了。而且我以前从未见过
Axios.get().subscribe()- 这是从哪里来的?.subscribe()是一个有效的函数吗? -
@user6854465 是的,并且还通过 vue.js。使用
<p> {{ user }} </p>,我在呈现的页面上看到了用户名。但我的 fetchData() 方法中需要这些信息。
标签: vue.js axios observable electron-vue