首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >属性不存在错误,即使添加到构造函数Angular中也是如此

属性不存在错误,即使添加到构造函数Angular中也是如此
EN

Stack Overflow用户
提问于 2020-10-29 12:47:31
回答 1查看 119关注 0票数 1

在创建web应用程序时,我在开发环境(VSCode)中偶然发现了一个不寻常的错误,当时我正在使用其中一个服务:

Error, property adapter does not exist in DetailDataService

在大多数情况下,这个错误是相当直接的,我试图添加的任何东西都没有声明,所以我应该声明缺少的变量或其他什么。然而,在本例中,所考虑的变量已经在构造函数中声明了。

代码语言:javascript
复制
constructor(
    adapter: SuiteAdapterService,
    toastr: ToastrService,
    translate: TranslatePipe
  ) {}

但是每当我在我的函数中引用这些时(例如):

代码语言:javascript
复制
extractData(
    module: string,
    where_relate_field: string,
    where_field_value: string
  ): any {
    let params = this.initializeParams(
      module,
      where_relate_field,
      where_field_value
    );

    this.adapter.post("listRecords", params).subscribe(
      (response) => {
        this.records = response.records;
      },
      (error) => {
        let errmsg = this.translate.transform(
          "pages[login_page][responses][error][" + error.text + "]"
        );
        this.toastr.error(errmsg);
      }
    );
  }

IDE向我显示了所有三个(适配器、toastr、translate)都不存在的错误。我发现这很奇怪,因为我一直在为其余的服务做同样的事情,它们似乎工作得很好。我认为这是一个IDE的问题,所以我改用Atom,但错误仍然存在。我运行了ng s来查看是否只是集成开发环境的问题,但事实证明这个错误在某种程度上是合法的,因为它抛出了以下错误:

代码语言:javascript
复制
ERROR in src/app/services/dynamic-loading/data/detail/detail-data.service.ts(70,10): error TS2339: Property 'adapter' does not exist on type 'DetailDataService'.
src/app/services/dynamic-loading/data/detail/detail-data.service.ts(75,27): error TS2339: Property 'translate' does not exist on type 'DetailDataService'.
src/app/services/dynamic-loading/data/detail/detail-data.service.ts(78,14): error TS2339: Property 'toastr' does not exist on type 'DetailDataService'.

我在这里做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2020-10-29 13:08:09

我觉得自己很傻。我忘了在构造函数中声明声明的作用域。它应该是:

代码语言:javascript
复制
constructor(
    private adapter: SuiteAdapterService,
    private toastr: ToastrService,
    private translate: TranslatePipe
  ) {}

我发现这对于一种没有严格类型的语言来说很令人困惑,因为它有构造函数声明,而构造函数声明应该定义其作用域。也许这是改天再讨论的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64585146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档