项目场景:

我用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‘.相关推荐

  1. 解决POSTMAN传参报错,JSON parse error: Cannot deserialize instance of `java.util.ArrayList` out of START_OB

    前言:使用POSTMAN自测代码以便前后端联调时,发送请求后,BOOM!!!服务器抛了个这样式的东西出来. Resolved [org.springframework.http.converter.H ...

  2. ajax中data传参报错

    项目场景: 今天学习了一点ajax,还是有很多不理解的地方,准备先写一个小页面测试一下 问题描述: 我在进行传参的时候报错 错误代码: 原因分析: 由于AJAX中data使用{},括起来的,就是jso ...

  3. Python类传参报错-TypeError:takes 2 positional arguments but 3 were given

    Error: 今天写了个类,通过requests传入url和headers来获取接口返回的数据,函数写好了但是出现了报错问题: TypeError:takes 2 positional argumen ...

  4. 关于jmeter body Data 传参报错message“:“\u7528\u6237\u540d \u4e0d\u80fd\u4e3a\u7a7a\u3002“的解决方法

    因为之前一直使用Parameters传参或者使用postman 突发奇想想用用jmeter测测接口,POST接口习惯性的把参数写到Body Date里 然后就发现报错了 后面一直以为是json格式没写 ...

  5. NewBee商城:前端部分提示错误 th:href传参报错

     传参时出现错误提示如下: '#', '(', '-', '.', '/', ':', '=', ESCAPED_STRING_LITERAL, FLOATING_POINT_LITERAL, IDE ...

  6. SSH:hql语句传参报错,及antlr-2.7.2.jar重复包的删除

    问题: 使用hql语句时出现 java.lang.reflect.InvocationTargetException(即使用hql回调函数带参数时) 或者是 antlr.collections.AST ...

  7. django {%url %}传递参数 url 传参 报错

    无参数传递的 url view 等路由传递,不再赘述 ,一般前端如下,后端通过url views来处理 href="{% url 'article:redit_article' %} 但是如 ...

  8. vue axios传参报错的解决方法

    为什么jquery和axios用法类似,但是请求时传参类型却不同? jquery默认 form Data(如:url?a=1形式): 因为jquery在执行post请求时,会默认设置Content-T ...

  9. 使用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 ...

最新文章

  1. opencv3 图像处理(一)图像缩放( python与c++ 实现)
  2. Spring事务专题(三)事务的基本概念,Mysql事务处理原理
  3. ubuntu codeblocks 设置用默认的gnome-terminal进行调试
  4. webform 页面传值的方法总结
  5. python模拟键盘输入+切换键盘布局
  6. Elasticsearch 监控和优化(持续)
  7. 在网页在播放flv格式的视频
  8. 小 C 的数学(math)详解
  9. Linux登陆密码策略
  10. 2022年上半年软件设计师上午真题及答案解析
  11. macOS Monterey 12.4 (21F79) 虚拟机 ISO 镜像
  12. 单片机技术及应用:基于proteus仿真的c语言程序设计,单片机的C语言程序设计与应用:基于Proteus仿真(第4版)...
  13. BackTrack5(BT5) 硬盘安装 教程
  14. 缺陷报告单写作准则(5C)
  15. python 多重类继承__init__
  16. 达人评测 i5 12490f和i7 12700f差距 酷睿i512490f和i712700f对比
  17. JS判断今天是礼拜几
  18. 工作站与服务器的区别
  19. 使用SDL2_mixer库播放MP3音乐
  20. Novavax向美国提交新冠疫苗紧急使用授权申请;西门子医疗发布最新业绩 | 医药健闻...

热门文章

  1. linux解压 tar -zxvf 代码
  2. 华为鸿蒙2.0智慧屏,官宣!华为车载智慧屏将于10月30日发布,或搭载鸿蒙OS 2.0...
  3. STM32+ov7725图像识别(HSL原理)
  4. C++编程常用头文件及其包含函数汇总
  5. python做邪恶冥刻模组
  6. 华为鸿蒙手机升级机型,准备好了吗?华为鸿蒙首批升级机型名单共11款,你的手机在列吗...
  7. 鸿蒙os将用在哪款机型,4月份正式开始,鸿蒙OS即将推送,14款荣耀机型在列,太感动了!...
  8. Linux终端无法输入问题解决
  9. 打印数组的排列组合/STL next_permutation函数
  10. 【回顾 2021,展望 2022】 一同来见证辉煌人生 一个职场人的一年~