我正在使用带有打字稿的Angular 1.4.7 我有一个自动生成的客户端,在打字稿中使用Swagger来调用这样的休息服务:
module API.Client {
'use strict';
export class DefaultApi {
...
我试图通过这样做来使用它:
import TDRService = API.Client.DefaultApi;
export class ListaTrtController {
private tdrservice: TDRService;
/* @ngInject */
constructor(service: TDRService) {
this.tdrservice = service;
}
但我收到错误“Unknown provider:serviceProvider< - service< - ListaTrtController”。 我该如何解决这个问题?
答案 0 :(得分:3)
使用您将在注射中使用的名称以角度注册您的服务。
module API.Client {
'use strict';
export class DefaultApi {
...
angular.module('yourmodule').service('TDRService', DefaultApi);
Angular将使用变量名称(非类型),因此它必须与在angular中注册的名称相同。而且,您可以在构造函数中使用private
,而不是像您一样执行赋值。
import TDRService = API.Client.TDRService;
export class ListaTrtController {
/* @ngInject */
constructor(private TDRService: TDRService) {
}