Vue.js从axios返回数据 {{getUser(comment.student_idx)} 从“axios”导入axios 从“@/models/server”导入服务器 导出默认值{ 数据(){ 返回{ url:server, 评论:{} } }, 道具:['idx'], 创建(){ get(`${this.url}/bambol/reply?post=${this.idx}`) 。然后(响应=>{ 如果(response.data.status==200){ this.comments=response.data.data.repress } }) }, 方法:{ getUser(idx){ get(`${this.url}/member/student/${idx}`) 。然后(响应=>{ 如果(response.data.status==200){ 返回response.data.data.member.name } }) } } }
我想在Vue.js从axios返回数据 {{getUser(comment.student_idx)} 从“axios”导入axios 从“@/models/server”导入服务器 导出默认值{ 数据(){ 返回{ url:server, 评论:{} } }, 道具:['idx'], 创建(){ get(`${this.url}/bambol/reply?post=${this.idx}`) 。然后(响应=>{ 如果(response.data.status==200){ this.comments=response.data.data.repress } }) }, 方法:{ getUser(idx){ get(`${this.url}/member/student/${idx}`) 。然后(响应=>{ 如果(response.data.status==200){ 返回response.data.data.member.name } }) } } },vue.js,axios,v-for,Vue.js,Axios,V For,我想在创建的加载注释,并使用v-for打印出来。 在v-for中,我想从每个注释加载成员.name 但是{{getUser(comment.student_idx)}}未定义。 我不知道如何从axios返回数据 请帮帮我 对于稳定的运行代码,您的方法不应该是异步的。我的建议是下一个代码: <template> <div class="comment"> <div v-for="(comment, index) in comments" :key="in
创建的加载注释,并使用v-for打印出来。
在v-for中,我想从每个注释加载成员.name
但是{{getUser(comment.student_idx)}}
未定义。
我不知道如何从axios返回数据
请帮帮我 对于稳定的运行代码,您的方法不应该是异步的。我的建议是下一个代码:
<template>
<div class="comment">
<div v-for="(comment, index) in comments" :key="index">
{{ getUser(comment.student_idx) }}
</div>
</div>
</template>
<script>
import axios from 'axios'
import server from '@/models/server'
export default {
data() {
return {
url: server,
comments: {}
}
},
props: ['idx'],
created() {
axios.get(`${this.url}/bamboo/reply?post=${this.idx}`)
.then(response => {
if (response.data.status === 200) {
this.comments = response.data.data.replies
}
})
},
methods: {
getUser (idx) {
axios.get(`${this.url}/member/student/${idx}`)
.then(response => {
if (response.data.status === 200) {
return response.data.data.member.name
}
})
}
}
}
</script>
{{comments['user']}
从“axios”导入axios
从“@/models/server”导入服务器
导出默认值{
数据(){
返回{
url:server,
评论:[]
}
},
道具:['idx'],
创建(){
get(`${this.url}/bambol/reply?post=${this.idx}`)
。然后(响应=>{
如果(response.data.status==200){
this.comments=response.data.data.repress;
如果(本条注释)
for(让我们评论一下这个。评论){
this.getUser(comment,comment.student_idx);
}
}
})
},
方法:{
getUser(注释,idx){
get(`${this.url}/member/student/${idx}`)
。然后(响应=>{
如果(response.data.status==200){
此.set(注释'user',response.data.data.member.name);
}
})
}
}
}
Vue模板仅呈现实际数据,而不是承诺。您需要将axios响应分配给data()
属性,如comments
,然后呈现该数据属性。请更改返回的json格式。我知道了。谢谢你的评论,我不知道怎么做。非常感谢你
<template>
<div class="comment">
<div v-for="(comment, index) in comments" :key="index">
{{ comments['user'] }}
</div>
</div>
</template>
<script>
import axios from 'axios'
import server from '@/models/server'
export default {
data() {
return {
url: server,
comments: []
}
},
props: ['idx'],
created() {
axios.get(`${this.url}/bamboo/reply?post=${this.idx}`)
.then(response => {
if (response.data.status === 200) {
this.comments = response.data.data.replies;
if(this.comments)
for(let comment of this.comments){
this.getUser(comment, comment.student_idx);
}
}
})
},
methods: {
getUser (comment, idx) {
axios.get(`${this.url}/member/student/${idx}`)
.then(response => {
if (response.data.status === 200) {
this.$set(comment, 'user', response.data.data.member.name);
}
})
}
}
}
</script>