【发布时间】:2022-08-24 06:43:38
【问题描述】:
朋友们早上好,很抱歉给我带来不便,我正在练习学习,我正在登录,但问题是我试图将它连接到一个 api 并且它没有建立连接,它给了我一个超级奇怪的错误在登录组件中 这里我附上 login.component
import { Component, } from \'@angular/core\';
import { AppserviceService } from \'../../services/appservice.service\';
import { NgForm } from \'@angular/forms\';
import { AppsResp } from \'../../interfaces/interfaces\';
import { FormsModule } from \'@angular/forms\';
@Component({
selector: \'app-login\',
templateUrl: \'./login.component.html\',
})
export class LoginComponent {
email:string =\'\';
password:string=\'\';
constructor(public AppserviceService: AppserviceService) { }
login() {
const user = {email: this.email, password: this.password};
this.AppserviceService.login(user).subscribe( data => {
console.log(data);
});
}
}
适合的错误如下_ \"预期 2 个参数,但得到 1.ts(2554) appservice.service.ts(15, 26): 未提供 \'password\' 的参数。\"
在这里我附上应用服务服务,这是错误的来源标记我的地方
import { HttpClient } from \'@angular/common/http\';
import { Injectable, Query } from \'@angular/core\';
import { Observable } from \'rxjs\';
import { AppsResp, Registro } from \'../interfaces/interfaces\';
@Injectable({
providedIn: \'root\'
})
export class AppserviceService {
constructor(private http: HttpClient) { }
login ( email: string, password: string ){
const body = {email,password}
return this.http.post <AppsResp>(\"http://apitest.e-bango.com/api/auth/login\" , body );
}
}
同样,我找不到在我的服务中插入注册表组件的正确逻辑,你能帮帮我吗?并尽可能详细地解释我做错了什么?谢谢
-
查看签名
login ( email: string, password: string ),它应该被称为this.AppserviceService.login(user.email, user.password)。您最初尝试的方式就像,当login( arg1, arg2 )需要两个参数时,您有arg1 = {user: \"user1@some.domain\", password: \"password1\"}和arg2 not provided,这是行不通的。相反,它应该是arg1 = \"user1@some.domain\"和arg2 = \"password1\"。要从user对象中获取这些字符串,请分别使用 user.email 和 user.password。
标签: javascript angular typescript