请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

emitter.on('form-item-created', callback) 报错

在上一堂课test: string也报错了,当时使用any解决的,
const callback = (test: string) => {
}
any以外的都会报错,现在要定义validateFunc。老师请问这要怎么解决呢?
图片描述

图片描述

正在回答 回答被采纳积分+3

2回答

提问者 weixin_慕工程538969 2020-10-20 16:45:51

老师,可以帮我看一看为什么emitter会出现报错吗,昨天没事隔天一开就报错了
还有是在func添加?后push就会报错

https://img1.sycdn.imooc.com//szimg/5f8ea2b80943982b09260324.jpg

https://img1.sycdn.imooc.com//szimg/5f8ea2b8094302ba05170395.jpghttps://img1.sycdn.imooc.com//szimg/5f8ea2b809635f2706640538.jpg

https://img1.sycdn.imooc.com/szimg/5f8ea3a509e5db2b08320169.jpg


0 回复 有任何疑惑可以回复我~
张轩 2020-10-20 09:25:55

同学你好 

同学你好 我们要找到问题根源欧 请看问题 http://coding.imooc.com/learn/questiondetail/206736.html 下面的文档地址,里面有前因后果详细的记录

其实就是 callback 的参数现在需要是可选的,我们改成 

const callback = (func?: ValidateFunc)

就可以啦

0 回复 有任何疑惑可以回复我~
  • 老师,这样做也会报错的
    const callback = (func?: ValidateFunc) => {
          funcArr.push(func)
        }
    
    funcArr.push这行报错Type 'undefined' is not assignable to type 'ValidateFunc'.
    回复 有任何疑惑可以回复我~ 2020-10-20 17:37:26
  • 因为我们现在的 func 有可能是 undefined 了,所以我们要先判断再 push 欧。这从另外一个方面印证了 ts 再帮助我们规避错误。而且要学会看懂提示欧。
    if (func) {
       funcArr.push(func)
    }
    回复 有任何疑惑可以回复我~ 2020-10-20 18:00:58
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信