ts报错“对象可能为“未定义”
ts报错“对象可能为“未定义”
interface Tree {id: numberlabel: stringchildren?: Tree[]
}
const addData = ref<Tree>()
const append = (data: Tree) => addData.value = data
}
const addChildree = () => {const newChild = { id: id++, label: input.value, children: [] }if (!addData.value.children) { //对象可能为“未定义addData.value.children = []}addData.value.children.push(newChild)dataSource.value = [...dataSource.value]dialogVisible.value = false
}
查资料说问题原因是当使用可选属性时,会报错 参数可能未定义 这边children是可选属性
给出的解决方法
在tsconfig.json中修改strict属性为false,取消严格模式 实测是可以解决这个问题
这时候我想报错的缘故是因为有可选属性 才会报错 所以我换了个必须有的属性测试
还是会报同样的错误 这时候我就觉得不是属性的缘故 应该是对象的缘故 查看定义的addData
// 修前
const addData = ref<Tree>()
// 修改后 ref初始化时为 {}
const addData = ref<Tree>({})
对象未定义的问题解决了 出现了新的问题
const addData = ref<Tree>({id: 0,label: ''
})
给上默认值就可以了
ts报错“对象可能为“未定义”相关推荐
- VS远程开发(远程调试)编译报错:对‘xxx’未定义的引用(设置库依赖顺序)(已解决)pthread(项目-->属性-->链接器-->输入-->库依赖项)
如图在VS中对linux进行远程开发时,编译报错: 貌似是因为在代码中使用了pthread.h的函数,链接库依赖顺序出了问题,我在ubuntu里手动使用gcc main.c -lpthread -o ...
- ubuntu 编译c程序报错:对‘pthread_create’未定义的引用
在ubuntu里编译c多线程代码,命名包含了头文件<pthread.h>,却还是编译报错,说对'pthread_create'未定义的引用 原因: pthread库不是Linux系统默认的 ...
- thinkphp开启子域名无法正常访问_解决TP6报错“当前访问路由未定义或不匹配”...
如果是报路由错误,则说明启用了路由控制,那么所有被访问的页面都需要配置路由,否则将无法访问. 例如: 在浏览器中运行http://hml.tp6.com/admin/getlog 报错:当前访问路由未 ...
- 页面报错:无法设置未定义或 null 引用的属性“*****”
可能的原因: 1:代码写错了 2:在each循环里面重复定义多次一个变量,导致出现这种情况!!! 3:浏览器的问题.刚刚碰到的就是href未定义,结果换一个浏览器就可以 4:js的引用顺序问题,比如我 ...
- 【Javascript报错】无法获取未定义或 null 引用的属性“replace“
今天在处理前端字符串替换的问题中 使用了这段代码: str.replace("xx","xx") 报错 >> 是因为str没获取到 str = u ...
- 使用阿里妈妈字体图标库,ie10报错,无法获取未定义或 null 引用的属性“firstChild”
前因:公司优化页面,要把彩色图片,换成字体图标. 结果:更换完后,测试发现ie10,ie9都会报错,但demo测试是没有问题的. 测试:console.log(target)为null,找到docum ...
- 解决vscode红色波浪线的ts报错:找不到模块“store” ts(2307),不识别@别名路径
使用TS构建vue3项目时,如果使用例如 import { store } from '@/store/user' 发生红色波浪线报错,说明ts不识别@别名,可以修改 tsconfig.json 文件 ...
- TS报错:TS2532: Object is possibly ‘undefined‘.
TS2532: Object is possibly 'undefined',提示对象可能未定义,但其实是有值的,页面也能正常显示,但是对于我来说,看见报错爆红实在无法忍受 解决方法:在后面使用!非空 ...
- Vue Language Features (Volar) 会引起ts报错
困扰了好一阵子的问题. {"name": "test","version": "0.1.0","private ...
最新文章
- 混合推荐系统就是多个推荐系统“大杂烩”吗?
- java 查找链表中间元素_如何在Java中一次性查找Java中链表的中间元素
- Cocos2d-x v3.0物理系统 利用PhysicsEditor创建多边形
- 基类数组存放派生类_永远不要将派生类数组赋值给基类类型指针
- Python文件类型
- 潘石屹回复“5G牌照发放”:我的5G号码可以启用了
- softmax函数_反向传播之一:softmax函数
- 《Linux编程》作业 ·002【Shell编程】
- 网络高可用性99 999 9999 99999
- 盘点2020年最好用的7款3D游戏建模软件
- 小米5之Root攻略
- python算程序员吗_2019为什么有人说Python程序员是假的程序员?
- python读取tsv文件_Python读取tsv文件和evalu
- Ian Goodfellow回忆GAN诞生故事:几杯啤酒喝出“20年来最酷的深度学习想法”
- 笔记本电脑的应用、维护、采购全攻略
- 基础通用版IPv6转换服务使用说明及设置示例
- 【模板】FHQ Treap
- 空间权重矩阵与相关性检验(Stata)
- ByteCTF2021安全范儿高校挑战赛线上Misc-《HearingNotBelieving》
- Linux磁盘管理——分区+挂载(fdisk+gdisk+mount+lsblk+df)
热门文章
- c 语言数据库.pdf,c语言连接sql数据库.pdf
- 视频教程-多人网络聊天室-Unity3D
- 2014年新款MacBook Pro Retina 13、15全系评测与选购建议
- 计算机在条形码的应用,常用一维条码及其应用领域介绍
- 搭建私服-docker registry
- 拆分汉字|中文拆字|分割汉字
- Mysql安装出现的问题Building CXX object sql/CMakeFiles/sql.dir/mysqld.cc.o
- 使用Python分析《我不是药神》豆瓣电影短评
- java 多线程 张孝祥_多线程11_张孝祥 java5的线程锁技术
- Paddle框架理解:模型状态、动态图与静态图、paddle.nn与paddle.nn.functional异同