微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法使用我班级的静态属性

如何解决无法使用我班级的静态属性

我在我的应用程序中使用工厂设计模式。在我的工厂类中,我有一个静态属性,它是一项服务。 我需要将此服务与我的工厂返回的对象一起发送。 但是,当我在“ContactPageProvider”类的构造函数获取服务时,它是未定义的,我不知道为什么。

以下是不同的类: 工厂类:

@inject(ContactService)
export class CommonPageFactory {
  private static _contactService : ContactService;

  private constructor() {
  }

  public static getProvider(pageName : string) : ICommonPageProvider {
    switch (pageName) {
      case 'contact':
        return new ContactPageProvider(this._contactService);
      default:
        throw new Error(`Invalid page name : ${pageName}.`);
    }
  }
}

我的服务:

@inject(ConnectionFactoryService)
export class ContactService{
  private _connService : ConnectionService;

  constructor(private connServFact : ConnectionFactoryService) {
    this._connService = connServFact.getService();
  }

  public async addContact(contact : Contact) {
    return await this._connService.postWebAPIAsync('contact',contact);
  }

我的类接收未定义的服务

@inject(ContactService)
export class ContactPageProvider implements ICommonPageProvider {

  /**
   * Provider pour les contacts
   */

  constructor( private _contactService : ContactService) {
    console.log(_contactService);
  }

  getCreationRoute() : string {
    return 'create-contact';
  }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。