我已经出现这个错误好几天了,我不知道该怎么办。我是一名编程初学者,所以我尝试学习一门课程,而我们处于前端。该项目是做一个博客,但是当用户尝试登录博客时,它假设程序需要返回一个令牌和用户数据。问题是当我写第二个参数 (true) 时,它给了我这个错误。有谁知道我该如何修复它??非常感谢您抽出宝贵时间:)
答案 0 :(得分:0)
出现问题是因为您没有将 _userServices.signup
中的类型定义与 boolean
匹配
每当您编写 true
或 false
时,您都在隐式地创建一个只能是布尔值的类型,但是在您的 _userServices.signup
中,它需要一个 boolean|undefined 的联合类型。>
在您的 _userServices
类中,查找 _userServices.signup 方法的定义并将预期类型从 boolean|undefined
更改为 boolean
这看起来像这样:
class MyClass {
myMethod(foo: boolean) {}
}
我衷心推荐第二个链接,因为您的错误是由类型与联合类型不匹配引起的。
答案 1 :(得分:0)
好的,谢谢,抱歉是我的第一个问题。这是代码:
this._userServices.signup(this.user, true).subscribe(
(response) => {
this.identity = response;
console.log(this.token);
console.log(this.identity);
localStorage.setItem('token', this.token);
localStorage.setItem('identity', JSON.stringify(this.identity));
和错误信息:
错误 TS2345:“true”类型的参数不可分配给“null”类型的参数 |未定义'。
54 this._userServices.signup(this.user, true).subscribe( ~~~~