typescript 编译器给我这个错误
typescript: src/pages/login/login.ts, line: 33 Expected 0 arguments, but got 2. L32: this.auth.loginAPI(this.registerCredentials) L33: .subscribe(response => {
使用此代码(2 个文件):
// auth-provider.ts
public loginAPI(credentials: {email:string,password:string}) {
return this.http.post(this.apiUrl,data);
}
// login.ts
this.auth.loginAPI(this.registerCredentials)
.subscribe(response => {
console.log(response);
}, err => {
console.log(err);
});
有趣的是代码有效(我编辑任何文件,我的 ionic 服务重新加载并且页面呈现没有任何问题)。
有什么想法吗?
环境 cli 包:(/usr/local/lib/node_modules)
@ionic/cli-utils : 1.19.0
ionic (Ionic CLI) : 3.19.0
全局包:
cordova (Cordova CLI) : 7.0.1
本地包:
@ionic/app-scripts : 3.1.5
Cordova Platforms : ios 4.4.0
Ionic Framework : ionic-angular 3.9.2
系统:
Node : v8.9.3
npm : 5.5.1
OS : macOS High Sierra
Xcode : Xcode 9.2 Build version 9C40b
最佳答案
问题出在 loginAPI 函数定义上。
将返回类型添加到 Observable
// auth-provider.ts
public loginAPI(credentials: {email:string,password:string}):Observable<any> {
return this.http.post(this.apiUrl,data);
}
我仍然不太明白为什么,但至少现在它编译没有任何错误。
关于angular - Typescript 错误预期有 0 个参数,但在 Ionic Framework 中有 2 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47824838/