收藏
回答

TypeError: Cannot read property 'X' of undefined?

Page({
  data:{
    index:0,   
    realIndex:0,
    optionA"A",
    optionB"B",
    A0,
    B0,
    xianshixing:0,
    yanjiuxing:0,
    yishuxing:0,
    shehuixing:0,
    qiyexing:0,
    changguixing:0,
    questionDetail:'强壮而敏捷的身体对我很重要',
    answerA:'对',
    answerB:'错',
        list:[012345678910111213141516171819,
    20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,
    46,47,48,49,50,51,52,53,54,55,56,57,58,59,60],
    listAB : ['A','B'],
    aa:[{question:"XXXXXXXXXXXXXX",option:{A:"对",B:"错"}},{question:"XXXXXXXXXXXXXX",option:{A:"对",B:"错"}}
    ,{question:"XXXXXXXXXXXXXX",option:{A:"对",B:"错"}},{question:"XXXXXXXXXXXXXX",option:{A:"对",B:"错"}}
    ,{question:"XXXXXXXXXXXXXX",option:{A:"对",B:"错"}},{question:"XXXXXXXXXXXXXX",option:{A:"对",B:"错"}}
    ,{question:"XXXXXXXXXXXXXX",option:{A:"对",B:"错"}},{question:"XXXXXXXXXXXXXX",option:{A:"对",B:"错"}}
    ,{question:"XXXXXXXXXXXXXX",option:{A:"对",B:"错"}},····共60条}]    
  },
    this.setData({
      index: this.data.index + 1,
      realIndex: this.data.list[this.data.index+1],
    })
   
    this.setData({
      questionDetail: this.aa[this.data.realIndex].question,
      answerA: this.aa[this.data.realIndex].option[this.data.listAB[0]],
      answerB: this.aa[this.data.realIndex].option[this.data.listAB[1]],
  })
setData失败,一直报错。
提示下标未定义?

报错提示点开是这几排。

求求大佬们看看!

回答关注问题邀请回答
收藏

3 个回答

  • Gavin
    Gavin
    2021-08-24

    打印结果呢,先不要setData,打印出来看看结果

    2021-08-24
    有用
    回复 8
    • オレンジくん
      オレンジくん
      2021-08-24
      打印了也没用,打不出来,下标拿出来就正常了,不知道什么原理
      2021-08-24
      回复
    • Gavin
      Gavin
      2021-08-24回复オレンジくん
      那你就这样,把下标用变量接收,然后用索引变量去取
      2021-08-24
      回复
    • Gavin
      Gavin
      2021-08-24回复オレンジくん
      最后打印值看出来没有
      2021-08-24
      回复
    • オレンジくん
      オレンジくん
      2021-08-24回复Gavin
      正常了
      2021-08-24
      回复
    • Gavin
      Gavin
      2021-08-24回复オレンジくん
      解决了就成,个人推测是this指向在嵌套中出了问题
      2021-08-24
      回复
    查看更多(3)
  • Z
    Z
    2021-08-24

    不是this.data.aa?

    2021-08-24
    有用
    回复 3
    • オレンジくん
      オレンジくん
      2021-08-24
      没注意,但是改了之后还是没用
      2021-08-24
      回复
    • Z
      Z
      2021-08-24回复オレンジくん
      没报错呀
      2021-08-24
      回复
    • オレンジくん
      オレンジくん
      2021-08-24回复Z
      不知道,我把下标拿出来就可以了
      2021-08-24
      回复
  • 困难
    困难
    2021-08-24

    this.aa是啥?

    报错的366行具体是哪行?

    2021-08-24
    有用
    回复 5
    • オレンジくん
      オレンジくん
      2021-08-24
      this.aa是data里面的一个数据列表,第366行是setdata里的questionDetail: this.aa[this.data.realIndex].question
      2021-08-24
      回复
    • 困难
      困难
      2021-08-24回复オレンジくん
      为啥其他都是this.data.xxx只有这个是this.aa
      2021-08-24
      回复
    • オレンジくん
      オレンジくん
      2021-08-24回复困难
      没注意,但是改了之后还是没用
      2021-08-24
      回复
    • 困难
      困难
      2021-08-24回复オレンジくん
      那就把这里涉及到的几个对象属性一个个打印出来看看是哪里的问题,包括那些方括号里的
      2021-08-24
      回复
    • オレンジくん
      オレンジくん
      2021-08-24回复困难
      报错后打不出来,奇怪,但是下标拿出来就正常了,不知道什么原理
      2021-08-24
      回复
登录 后发表内容