You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Error TS2554:预期传入2个参数却仅传1个,如何解决?

解决Error TS2554:参数数量不匹配问题

嘿,我一眼就看出问题所在啦!你遇到的TS2554错误,核心原因是Firebase的signInWithEmailAndPassword方法参数传错了。

问题分析

这个方法并不接受包含email和password的对象作为参数,它需要的是两个独立的字符串参数:第一个是邮箱地址,第二个是密码。你现在把它们打包成一个对象传进去,TypeScript自然会报错说预期2个参数但只收到1个。

修正后的代码

把第3行的方法调用改成下面这样就可以了:

login(myForm1) { 
  if(myForm1.valid) { 
    this.af.auth.signInWithEmailAndPassword(this.email, this.password)
      .then( (success)=>{ 
        this.router.navigate(['/blog']); 
      }).catch( (err)=>{ 
        this.error=err; 
      }) 
  } 
}

关键改动说明

  • 移除了包裹email和password的对象语法{ email: ..., password: ... }
  • 直接把this.email和this.password作为两个独立参数传入signInWithEmailAndPassword

这样调用就完全符合方法的参数要求了,TypeScript的错误也会消失,登录功能应该就能正常工作啦!

内容的提问来源于stack exchange,提问作者Mokabbir Ullah Faisal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:39:46