2016-09-08 61 views
1

我正在使用Angular1和TypeScript。我有一個簡單的問題。encode-decode base64字符串AngularJS1 TypeScript?

有沒有什麼辦法可以在我使用的環境下對base64中的字符串進行編碼解碼?

我已經搜索了很多,我可以找到this。但我不確定它是否可用於類型定義。

+0

這沒關係,沒有tsd文件。你仍然可以使用庫文件。將其聲明爲「任何」,或創建自己的簡單定義。 –

+0

Thnx的評論。對不起,我沒有得到你。你能告訴我如何使用它作爲打字稿內的服務嗎?最好作爲答案:)) –

回答

2

所以下面從https://github.com/ninjatronic/angular-base64卻帶着幾分TS裝修的例子:

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='); 
    }]); 

因此,所有我在這裏所做的消息稱,$ BASE64參數爲「任何」,這可以讓你使用常規JS沒有對TS抱怨。您不會對其進行智能感知/類型檢查,但這並不重要。正如我在評論中所說的,如果你確實想要定義你自己的界面,你可以。即

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

所以,我應該能夠包含你的第一個代碼片段在.ts文件中嗎? –

+1

這是一個例子,你需要把它放到你的代碼中,但是我的觀點是,如果你給它一種類型的東西,注入的內容並不重要,那麼TS就不會妨礙你。 –

+1

是的,我明白了。其實我並沒有問是否可以複製和粘貼。 :))。我試過後不久就會更新。 :)) –