打字稿 - 难度"延伸" IAngularStatic

时间:2016-03-27 19:29:54

标签: angularjs typescript

我不久前问了一个与此类似的问题,得到了很多帮助,但即使有了答案,我仍然在努力解决这个问题。

我已写入typescript - 与google api gapi )一起使用的小型服务以及与之配合使用的界面,在此列出我的代码;

gapiService.ts

class GoogleAuthenticationService implements IGoogleAuthenticationService {
   // ...
}

interface IGoogleAuthenticationService extends ng.IServiceProvider { }

现在,我可以像这样使用它们,但是出于强迫症的目的,我想将它们附加到angular命名空间/模块以成为ng加载的一部分。所以我可以打电话给他们......

ng.GoogleAuthenticationService
ng.IGoogleAuthenticationService

我认为这样可行,但我不断收到它无法找到它们或其他错误的错误。我已经查看了以下错误列表......

  • Property 'GoogleAuthenticationService' does not exist on type 'IAngularStatic'
  • Module 'angular' has no exported member 'IGoogleAuthenticationService'
  • An export assignment cannot be used in a module with other exported elements.

知道如何实现我的目标吗?这让我很沮丧。

gapiAuth.d.ts

declare module 'angular' {
    interface IGoogleAuthenticationService{}
    var GoogleAuthenticationService: GoogleAuthenticationService
}

1 个答案:

答案 0 :(得分:0)

  

ng.GoogleAuthenticationService   ng.IGoogleAuthenticationService

将它们包装在angular命名空间中:

namespace angular {
  class GoogleAuthenticationService implements IGoogleAuthenticationService {
     // ...
  }

  interface IGoogleAuthenticationService extends ng.IServiceProvider { }
}