2016-09-08 7 views
1

Ich verwende Angular1 mit TypeScript. Ich habe eine einfache Frage.encode-decode base64 Zeichenkette AngularJS1 TypeScript?

Gibt es eine Möglichkeit, eine Zeichenfolge in Base64 mit der Umgebung zu codieren, die ich benutze.?

Ich habe viel gesucht, ich könnte this finden. Aber ich bin mir nicht sicher, ob es mit der Type-Definition verfügbar ist.

+0

Es spielt keine Rolle, dass es keine tsd-Datei gibt. Sie können die Bibliothek weiterhin verwenden. Entweder es als "any" deklarieren, oder erstellen Sie Ihre eigene einfache Definition. –

+0

Thnx für den Kommentar. Entschuldigung, ich verstehe dich nicht. Können Sie mir sagen, wie kann ich das als Service in Typoskript verwenden? vorzugsweise als Antwort :)) –

Antwort

2

So nach dem Beispiel von https://github.com/ninjatronic/angular-base64 aber mit einem bisschen TS Dekoration:

angular 
    .module('myApp', ['base64']) 
    .controller('myController', [ 

     '$base64', '$scope', 
     function($base64: any, $scope : ng.IScope) { 

      $scope.encoded = $base64.encode('a string'); 
      $scope.decoded = $base64.decode('YSBzdHJpbmc='); 
    }]); 

Also alles, was ich habe hier getan wird gesagt, dass der $ base64-Parameter ist „any“, dies ermöglicht es Ihnen, regelmäßig zu verwenden, JS dagegen ohne sich zu beschweren. Sie werden keine Intellisense/Typ-Überprüfung dagegen bekommen, aber das ist egal. Wie ich im Kommentar gesagt habe, wenn Sie Ihre eigene Schnittstelle dagegen definieren möchten, könnten Sie. d. h.

interface Base64Encode { 
    encode: (source: string) => string; 
    decode: (encoded: string) => string; 
} 
+0

Also, ich sollte in der Lage sein, Ihren ersten Code-Snippet in eine .ts-Datei aufzunehmen, oder? –

+1

Nun, das ist ein Beispiel, Sie müssen es in Ihren Code einfügen, aber mein Punkt ist, dass es egal ist, was injiziert wird, wenn Sie es eine Art geben, dann wird TS nicht in die Quere kommen. –

+1

Ja, ich habe verstanden. Eigentlich habe ich das nicht gefragt, ob ich kopieren und einfügen kann. :)). Ich werde bald nach dem Ausprobieren updaten. :)) –

Verwandte Themen