Angular:WebStorm 未检测到 class 函数

Angular: WebStorm not detecting class functions

大家好,我有以下页面代码:

import { Component, OnInit } from '@angular/core';
import {LicencesService} from '../../services/databaseServices/licences.service';

@Component({
  selector: 'app-licences',
  templateUrl: './licences.page.html',
  styleUrls: ['./licences.page.scss'],
})
export class LicencesPage implements OnInit {

  public licencesData: [];

  constructor(
    protected licenceService = LicencesService
  ) { }

  async ngOnInit() {
    await this.licenceService.getLicences('testing');
  }

}

然而,正如您在图片中看到的,我的 WebStorm 没有注册它是一个可用的方法。我想知道如何解决这个问题?

我无法调用此页面内的任何方法。但是在其他页面我能够并且这个错误不会存在所以我不确定我做错了什么。 如果我在该方法上执行 Alt + Click,我也会进入该方法。

在这一行中:

constructor(
  protected licenceService = LicencesService
) { }

您正在将 class LicensesService 分配给 属性 licenceService。您实际上是在分配 class,而不是实例。在 JavaScript 以及 TypeScript 中,classes 是 first-class 公民,因此您可以将它们分配给变量。

可能,您打算使用依赖注入来填充变量的值,因此您必须指定类型并让 Angular 创建实例,而不是分配 属性:

constructor(
  protected licenceService: LicencesService
) { }