重载$injector的typescript接口定义.进入angular1项目

Overloading typescript interface definition for $injector.get in angular1 project

本文关键字:定义 进入 angular1 项目 接口 typescript injector 重载      更新时间:2023-09-26

我正在将一个angular1项目从javascript迁移到typescript,并想添加到重载的$injector。Get方法以包含项目自己的可注入类型。我读了这个关于合并接口的文档。我将其添加到导入的d.s文件中:

import TrendDisplayService from 'services/TrendDisplayService';
declare namespace angular {
  export module ng.auto {
      export interface IInjectorService {
        get(name: 'trendDisplayService'): TrendDisplayService
      }
  }
}

然而,在执行以下操作时,我仍然看到"不可分配"类型错误:

let trend:TrendDisplayService = $injector.get('trendDisplayService');

任何想法吗?

声明模块中应该是auto而不是ng.auto.

declare namespace angular {
    export module auto {
        export interface IInjectorService {
            get(name: 'trendDisplayService'): TrendDisplayService
        }
    }
}