使用typescript rest Client创建角度服务

时间:2015-11-20 16:18:35

标签: angularjs typescript swagger

我正在使用带有打字稿的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”。 我该如何解决这个问题?

1 个答案:

答案 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) {
}