Vue3 TS props传参报错TS2722: Cannot invoke an object which is possibly ‘undefined‘.
项目场景:
我用Props在子组件接受父组件传来的函数, 并向函数内传参调用.
问题描述
TS解析时认为props内的这个函数可能会是undefined, 所以直接报错.
原因分析:
这个函数在beforeCreate周期之前确实是undefined, 那时候props都还不能用.
解决方案:
有两种方法.
一种是TS类型断言法, 如果是函数的话, 需要在括号前加"!"断言其不为空:
加在括号后就成了断言函数返回值了…
props.addToDo!(todo);
另一种方法, 直接在前面做手动检查:
if (!props.addToDo) throw new Error("addToDo not find");
props.addToDo(todo);
Vue3 TS props传参报错TS2722: Cannot invoke an object which is possibly ‘undefined‘.相关推荐
- 解决POSTMAN传参报错,JSON parse error: Cannot deserialize instance of `java.util.ArrayList` out of START_OB
前言:使用POSTMAN自测代码以便前后端联调时,发送请求后,BOOM!!!服务器抛了个这样式的东西出来. Resolved [org.springframework.http.converter.H ...
- ajax中data传参报错
项目场景: 今天学习了一点ajax,还是有很多不理解的地方,准备先写一个小页面测试一下 问题描述: 我在进行传参的时候报错 错误代码: 原因分析: 由于AJAX中data使用{},括起来的,就是jso ...
- Python类传参报错-TypeError:takes 2 positional arguments but 3 were given
Error: 今天写了个类,通过requests传入url和headers来获取接口返回的数据,函数写好了但是出现了报错问题: TypeError:takes 2 positional argumen ...
- 关于jmeter body Data 传参报错message“:“\u7528\u6237\u540d \u4e0d\u80fd\u4e3a\u7a7a\u3002“的解决方法
因为之前一直使用Parameters传参或者使用postman 突发奇想想用用jmeter测测接口,POST接口习惯性的把参数写到Body Date里 然后就发现报错了 后面一直以为是json格式没写 ...
- NewBee商城:前端部分提示错误 th:href传参报错
传参时出现错误提示如下: '#', '(', '-', '.', '/', ':', '=', ESCAPED_STRING_LITERAL, FLOATING_POINT_LITERAL, IDE ...
- SSH:hql语句传参报错,及antlr-2.7.2.jar重复包的删除
问题: 使用hql语句时出现 java.lang.reflect.InvocationTargetException(即使用hql回调函数带参数时) 或者是 antlr.collections.AST ...
- django {%url %}传递参数 url 传参 报错
无参数传递的 url view 等路由传递,不再赘述 ,一般前端如下,后端通过url views来处理 href="{% url 'article:redit_article' %} 但是如 ...
- vue axios传参报错的解决方法
为什么jquery和axios用法类似,但是请求时传参类型却不同? jquery默认 form Data(如:url?a=1形式): 因为jquery在执行post请求时,会默认设置Content-T ...
- 使用TS+vue3封装axios时编译报错,提示You may need an additional loader to handle the result of these loaders.
基于vue3+TS构建的商城后台管理系统 根据coderwhy老师指导搭建的项目为PC端商品后台管理系统. 报错: 使用TS+vue3封装axios时编译报错,提示You may need an ad ...
最新文章
- opencv3 图像处理(一)图像缩放( python与c++ 实现)
- Spring事务专题(三)事务的基本概念,Mysql事务处理原理
- ubuntu codeblocks 设置用默认的gnome-terminal进行调试
- webform 页面传值的方法总结
- python模拟键盘输入+切换键盘布局
- Elasticsearch 监控和优化(持续)
- 在网页在播放flv格式的视频
- 小 C 的数学(math)详解
- Linux登陆密码策略
- 2022年上半年软件设计师上午真题及答案解析
- macOS Monterey 12.4 (21F79) 虚拟机 ISO 镜像
- 单片机技术及应用:基于proteus仿真的c语言程序设计,单片机的C语言程序设计与应用:基于Proteus仿真(第4版)...
- BackTrack5(BT5) 硬盘安装 教程
- 缺陷报告单写作准则(5C)
- python 多重类继承__init__
- 达人评测 i5 12490f和i7 12700f差距 酷睿i512490f和i712700f对比
- JS判断今天是礼拜几
- 工作站与服务器的区别
- 使用SDL2_mixer库播放MP3音乐
- Novavax向美国提交新冠疫苗紧急使用授权申请;西门子医疗发布最新业绩 | 医药健闻...
热门文章
- linux解压 tar -zxvf 代码
- 华为鸿蒙2.0智慧屏,官宣!华为车载智慧屏将于10月30日发布,或搭载鸿蒙OS 2.0...
- STM32+ov7725图像识别(HSL原理)
- C++编程常用头文件及其包含函数汇总
- python做邪恶冥刻模组
- 华为鸿蒙手机升级机型,准备好了吗?华为鸿蒙首批升级机型名单共11款,你的手机在列吗...
- 鸿蒙os将用在哪款机型,4月份正式开始,鸿蒙OS即将推送,14款荣耀机型在列,太感动了!...
- Linux终端无法输入问题解决
- 打印数组的排列组合/STL next_permutation函数
- 【回顾 2021,展望 2022】 一同来见证辉煌人生 一个职场人的一年~