我正在将angular1项目从javascript迁移到打字稿,并希望添加到overloaded $injector.get method中以包括项目自己的可注入类型。我在合并接口上阅读了this typescript doc。我将其添加到导入的d.ts文件中:

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
        }
    }
}

10-08 19:05