为了账号安全,请及时绑定邮箱和手机立即绑定

obj 有时是未定义的,有时却可以完美运行

obj 有时是未定义的,有时却可以完美运行

子衿沉夜 2021-08-20 18:20:51
在计算属性中,我试图将从 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 秒。
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 326 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信