2016-05-17 10 views
0

これはTypescript 101かもしれませんが、これに対して明確な答えを得ることはできません。AngelsJSを使用したTypescriptでのインポートパターン?

私は、これは限りスリム的に書き換えることができる発見活字体に新しいですし、周りに読んでいくつかの実験を通して、この形式

module App.Login { 
    import IStateService = angular.ui.IStateService; 

    export class LoginController { 

     private _state: IStateService; 

     constructor($state: angular.ui.IStateService, ...) { 
      this._state = $state; 
     } 
    } 
} 

を次のいくつかの既存のコード(そのAngularJS)に遭遇してきました次

module App.Login { 
    export class LoginController { 

     constructor(private $state: angular.ui.IStateService, ...) { 
     } 
    } 
} 

私の質問は以下のとおりです。

  • なぜそれが作成されました最初の方法は元々?知識の欠如や、何らかの理由で、私たちはインターフェース
  • にスタイルの問題をエイリアスするだけimportを使用する必要があるのはなぜ
  • を理解していないが、後で私のクラスでは、私がthis.$stateを使用する必要が$stateを使用します。 Angular v1から来て、これは奇妙に感じますが、これは大丈夫ですか?

答えて

0
  1. 元々このようになったのはなぜですか?あなたが輸入を意味するなら、利便性。 angular.ui.IStateServiceは厄介なほど長いです。彼らはおそらくもっと便利なバージョンを望んでいただけです。プライベートvarの宣言を意味する場合、(特にC#/ Javaのバックグラウンドから来る)人は、明示的にクラスパラメータを宣言することを好むでしょう。コンストラクタパラメータの構文でのvisibility修飾子(public/protected/private)は、typescriptにとって非常にユニークなので、人はそれに慣れていない/好きではありません。
  2. あなたはそうではありません。代わりにtypeキーワードを使用できます。
  3. うん、それはまあまあです。
関連する問題