Ich habe vor kurzem eine ähnliche Frage gestellt und eine Menge Hilfe bekommen, aber selbst mit der Antwort habe ich Probleme mit diesem Code.Typoskript - Schwierigkeit "ausdehnt" IGnularStatic
Ich habe geschrieben - in typescript
- ein kleiner Service mit google api
(gapi) zu verwenden, und eine Schnittstelle mit ihm zu gehen, da dies aufgeführt in meinem Code; Jetzt
gapiService.ts
class GoogleAuthenticationService implements IGoogleAuthenticationService {
// ...
}
interface IGoogleAuthenticationService extends ng.IServiceProvider { }
, kann ich sie so verwenden, aber für OCD Zwecke, möchte ich sie an den angular
Namespace/Modul befestigen Teil der ng
Laden zu sein. So konnte ich sie nennen ...
ng.GoogleAuthenticationService
ng.IGoogleAuthenticationService
Ich dachte, das würde funktionieren, aber ich halte den Fehler bekommen, dass sie entweder nicht sie oder einige andere Fehler finden. Ich habe durch die folgende Liste von Fehlern ...
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.
wie Jede Idee, weg zu erreichen, was ich bin mit dem Ziel für? Es macht mich verrückt.
gapiAuth.d.ts
declare module 'angular' {
interface IGoogleAuthenticationService{}
var GoogleAuthenticationService: GoogleAuthenticationService
}
Ich denke den ganzen Code umgibt (Klasse plus Schnittstelle) wi Das 'Modul angular {}' würde funktionieren –
Hier nachschlagen, [have-interface-string-string-Funktionalität] (http://stackoverflow.com/questions/36031767/have-interface-extend-string-functionality/36067378# 36067378) Ich nehme an, Sie fragen mehr oder weniger die gleiche Frage –
Woah. Was ist mit den Deklarationen in eckigen Klammern? Das ist trippy - ich habe keine Ahnung, was diese bedeuten. – Ciel