vue循环报错问题

1.在页面有多个for循环的时候 如图
clipboard.png 上述代码会出现错误
clipboard.png
2.一开始我以为是数据加载延迟问题造成的,所以我在页面上加上了一个v-if, 加载成功, 把v-if设置为true,但是还是不行。后来弄了一份本地数据去模拟 还是报错 这是为什么? 求教!
3我要做成的效果

clipboard.png

阅读 4k
5 个回答

就是 matrixData.categoryCourseList这个数组的子元素对象里面没有subjectList字段,这有可能是你远程获取数据格式是符合你的要求的,但是远程获取之前的数据格式并不符合,查查data里面的matrixData对象格式是不是全的

你看下你的数据有marixData.categoryCourseList.subjectList这个数据吗

新手上路,请多包涵

我感觉你是嵌套太多了出错了吧,最好别循环的数据里嵌套那么多层啊

应该不是异步加载数据的问题,如果不是你的拼写错误,应该就是没有marixData.categoryCourseList子元素里没有subjectList这个字段,我猜可能是有些子对象中有,有些没有,这种情况你可以让后台在subjectList字段没有值的时候返回空字符串或者是你自己加个判断,在td外面在包裹一个v-if="!item.subjectList",这样会跳过没有这个字段的循环的执行。

首先呢,你的td嵌套在span里是不正规的一种写法;其次,error很清楚了,subjectList undefined,可能是你的item没拿到,或者item下没有subjectList,你尝试在v-for前面加上 v-if="item.subjectList",这样就保证你代码能运行了。另外建议你仔细对比下数据,说不定item是个string类型的都有可能。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题