angular - Typescript 错误预期有 0​​ 个参数,但在 Ionic Framework 中有 2 个

标签 angular cordova typescript ionic-framework

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/

相关文章:

angular - Angular 如何使用 *ngFor 过滤未知数量的元素?

javascript - Angular - 错误 : Can't resolve 'classlist.js'

ajax - Cordova : How to diagnose ajax not working for UWP (windows store) application

javascript - 如何在 Cordova 中从一个 Js 访问一个 Sql lite 变量到另一个 Js

angular - ngx-translate 一次有多个翻译和 ts 文件上的动态文本

Angular 2 - 如何绑定(bind)到 "dynamic"表单字段

angular - 刷新页面时 CanDeactivateGuard 不起作用

javascript - Angular2 http调用使测试执行两次

Angular 8 - 在前端更改检测问题上调整图像大小

java - Gradle "com.android.dex.DexException"构建涉及 cordova-plugin-googlemaps 和 ibm-mfp-push 插件的应用程序。