在计算属性中,我试图将从 API 接收到的 ID 与对象数组进行匹配,其中 ID 键也是从 API 接收的,并从匹配的 ID 对象中检索名称键。obj 变量偶尔会抛出“obj 未定义”错误,但不一致。我认为这与 ID 异步有关。将函数从箭头更改为经典函数,以免与 this 范围混淆。 data() { return { upComing: [], popular: [], topRated: [], playingNow: [], details: [], genres: [] } }, computed: { genre: function() { let list = this.upComing[0] ? this.upComing[0].genre_ids[0] : 0 let obj = this.genres.find(function(o) { return o.id === list }) return obj.name } }, created() { let self = this APIService.getUpcoming() .then(response => { self.upComing = response.data.results //console.log(this.upComing) }) .catch(error => { console.log(`There was an error: ${error.response}`) }), APIService.getGenres() .then(response => { this.genres = response.data.genres //console.log(this.genres) }) .catch(error => { console.log(`There was an error: ${error.response}`) }) }}我明白这个TypeError: "obj is undefined"和这个[Vue warn]: Error in render: "TypeError: obj is undefined"并且每次抛出它们两次。所以我在控制台中有 4 个错误,但只有这 2 个错误,延迟 1 秒。
添加回答
举报
0/150
提交
取消