对axios返回的对象处理出错

今天使用卖座的api请求回来一个对象,其中的演员信息为列表,需要把演员的姓名提取出来合并为一个字符串,本来想使用模板语法{{data.actors.map(item=>item.name).join(' ')}}完成任务,但是发现一直报错,说map未定义。

以为是不能使用map,后来想改为函数式写法,到时候返回一个字符串就好了,但是却发现data.actors可以获取到演员列表,但是为它加索引写成data.actors[i]却又报错了。

最后才发现返回的数据是对象,但是我却把datalist习惯性的定义为了空列表,这样进行第一级处理的时候不会报错,但是进行第二级处理的时候就会报错。

总结:

  • 返回的数据为对象,则datalist:null(会报错,给遍历节点的父节点加上v-if='datalist'可解决。原因:开始的数据列表为空,但是节点已经进行了渲染)
  • 返回的数据为列表,则datalist:[]
  • 返回的数据为字符串,则datalist:''
  • 返回的数据为数字,则datalist:0
  • 遵循先判断后循环的顺序进行节点处理,不可无数据渲染节点
上一篇:(尚硅谷)Vue笔记---------27


下一篇:阿里云对象存储OSS————跨域资源共享(CORS)(m3u8 无法加载m3u8:跨域访问被拒绝)