当前位置: 首页 > news >正文

vue3 ts vite开发bug记录(类型转换)

问题描述

const getModuleInfo = async () => {const rtn = await GetModuleInfo(moduleName.value);const info = toCamelCase(rtn);if (info.data.baseResp.ret === 0) {const moduleInfo = info.data.moduleData;TableData.value = moduleInfo; //这句代码会报错 提示下面的信息}
};

报错提示:Uncaught (in promise) TypeError: Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a Symbol.iterator method.

思考过程

问题可能出在 moduleInfo 的数据结构上。TableData.value 可能期望的是一个数组或其他可迭代对象,而 moduleInfo 可能不是。

检查 moduleInfo 的类型
 console.log('moduleInfo type:', typeof moduleInfo); //打印的是 objectconsole.log('moduleInfo isArray:', Array.isArray(moduleInfo)); //false

解决方案

moduleInfo 不是数组:
如果 moduleInfo 不是一个数组,而 TableData.value 期望的是一个数组,那么将 moduleInfo 转换为数组即可解决。

if (info.data.baseResp.ret === 0) {const moduleInfo = info.data.moduleData;console.log('moduleInfo0812', moduleInfo);console.log('moduleInfo type:', typeof moduleInfo);console.log('moduleInfo isArray:', Array.isArray(moduleInfo));TableData.value = Array.isArray(moduleInfo) ? moduleInfo : [moduleInfo];
}

哈哈哈哈哈我又来刷ts基础了 苦笑:(

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 如何获取能直接在浏览器打开的播放地址?
  • C语言 --- 枚举、位运算
  • 电机学习-基础知识
  • AR技术:汽车行业创新发展的新动力
  • Grafana 可视化监控和告警
  • 28. 找出字符串中第一个匹配项的下标【 力扣(LeetCode) 】
  • 【知识点介绍】时钟置换算法(CLOCK算法)
  • 【python学习】深入解析 `jq` 库:JSON 处理的利器
  • 数据库(一):MySQL概述
  • Spring Boot + Vue 跨域配置(CORS)问题解决历程
  • 构建智能生态,视频监控/安防监控EasyCVR视频汇聚流媒体技术在智能分析领域的应用
  • 《TOGAF®标准第10版》:企业架构新时代的必备指南与实践蓝图
  • JS【详解】 延迟加载
  • 阿里云服务器 ECS部署jenkins
  • 《企业净零排放实用手册》:助力中小企业实现“双碳”目标
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • Android Volley源码解析
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • learning koa2.x
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • PAT A1017 优先队列
  • PAT A1092
  • spring boot 整合mybatis 无法输出sql的问题
  • 第十八天-企业应用架构模式-基本模式
  • 如何胜任知名企业的商业数据分析师?
  • 使用common-codec进行md5加密
  • 事件委托的小应用
  • 通过git安装npm私有模块
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 我这样减少了26.5M Java内存!
  • 再谈express与koa的对比
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • # Java NIO(一)FileChannel
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (2)nginx 安装、启停
  • (Python第六天)文件处理
  • (ZT)出版业改革:该死的死,该生的生
  • (补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (力扣)循环队列的实现与详解(C语言)
  • (算法)N皇后问题
  • (万字长文)Spring的核心知识尽揽其中
  • (转)大道至简,职场上做人做事做管理
  • (转载)从 Java 代码到 Java 堆
  • *算法训练(leetcode)第四十七天 | 并查集理论基础、107. 寻找存在的路径
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .Net FrameWork总结
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .NET中 MVC 工厂模式浅析
  • .net中调用windows performance记录性能信息
  • .Net转前端开发-启航篇,如何定制博客园主题
  • .stream().map与.stream().flatMap的使用