我正在尝试从 mounted()中的方法调用一个函数,但它返回undefined。如果我创建一个console.log,它会显示结果。我做错了什么?
methods: {
bsBooks: () => {
axios
.get(
"https://api.nytimes.com/svc/books/v3/lists/best-sellers/history.json?api-key=mykey_is_here"
)
.then(res => {
return res.data.results
});
}
},
mounted() {
console.log(bsBooks())
}
答案 0 :(得分:2)
我找到了一个解决方案,也许它不是最好的,但我们可以在承诺中返回数据,例如
methods: {
bsBooks: () => {
return axios
.get(
"https://api.nytimes.com/svc/books/v3/lists/best-sellers/history.json?api-key=my_api_key"
)
.then(response => response.data.results)
}
},
mounted() {
this.bsBooks().then(value => console.log(value))
}
答案 1 :(得分:0)
bsBooks()
未定义,因此请使用this.bsBooks()
,
还会将结果存储到名为data
的{{1}}并使用它:
books
<template>
<ul>
<li v-for="book in books">{{ book }}</li>
</ul>
</template>