【问题标题】:Property "somemethod" does not exist on type 'typeof "className"类型 'typeof "className" 上不存在属性 "somemethod"
【发布时间】:2018-09-01 19:40:17
【问题描述】:

我收到“'typeof UserService' 类型的属性 'searchStaff' 不存在。”当我尝试使用此 api 服务类时,我的编辑器中出现错误。 PS。我是打字稿的新手。

import axios from "axios";
import { Observable } from "rxjs";

class UserService {
  public searchStaff(): Observable<any> {
    return Observable.fromPromise(axios.get("./staffs/search"));
  }
}

export default new UserService();

我正在尝试从这个类中获取数据。

const result = UserService.searchStaff();

【问题讨论】:

  • 如何在第二个文件中导入UserService?可以发一下吗?
  • 从“../services/UserService”导入用户服务;
  • 我刚刚测试过它,它对我来说很好用。这里缺少一些东西。你能发布第二个文件吗?
  • 为什么您的出口声明中有new

标签: javascript typescript rxjs axios typescript2.0


【解决方案1】:

您可以在声明中直接输入exportexport default。所以你可以这样做:

export class UserService {

}

export default class UserService {

}

您可以找到使用 typescript here 模块的不同方法。

另外,看看这行代码,const result = UserService.searchStaff(); 你是在实例化 UserService 吗?如果不是,那么您必须将searchStaff 声明为static

【讨论】:

  • 谢谢,static 帮我做了,我可以搜索文档并了解原因。
  • 我也需要static。谢谢。
猜你喜欢
  • 2021-01-09
  • 1970-01-01
  • 1970-01-01
  • 2020-10-04
  • 2020-08-19
  • 2017-11-06
  • 2018-11-09
  • 2018-04-26
  • 1970-01-01
相关资源
最近更新 更多