方法:
methods: {
fetchData () {
axios.get(globalConfig.ORDERS_URL, {
params: {
limit: this.limit,
offset: this.offset
}
})
.then((resp) => {
this.req = resp.data
console.log(resp)
})
.catch((err) => {
console.log(err)
})
}
}
计算:
computed: {
filteredRequests () {
return this.req.results.filter(item => {
return item.created.toLowerCase().includes(this.name)
})
}
}
数据:
data () {
return {
req: {},
}
}
从API端点解析数据,但是我根本无法在计算方法中使用req
对象,这会引发错误。
req
对象的内容:
我也曾经使用过:
created () {
this.fetchData()
},
watch: {
'$route': 'fetchData'
}
因此,当我直接在模板中使用req
对象时,它可以工作,但是我无法在计算方法中对其进行过滤。
答案 0 :(得分:0)
您在this.req.results
中调用computed
,而初始数据为req: {}
,并且异步fetchData()
方法无法立即解决,这就是为什么会导致错误的原因。做类似的事情:
computed: {
filteredRequests () {
if (this.req.results) {
return this.req.results.filter(item => {
return item.created.toLowerCase().includes(this.name)
})
} else {
return 'No results'
}
}
}