2016-10-05 8 views
0

angular@injectable注釈付きクラスと通常の平文タイプスクリプトでは、クラスは角度サービスとして注入されます。これらのモジュールは、モジュールレベルでもコンポーネントレベルでも注入され、使用されました。Angular2 @注射可能なサービスと非注射可能なサービスの違い

違いは何ですか?

どのような状況で私たちは@注射可能なクラスを使用しなければなりません。どのような状況で通常のクラスを使用するべきですか? @Injectable()注釈付き

providers: [MyResourcesList] 

注射サービス宣言

@Injectable() 
export class WidgetResourcesList { } 

通常typescriptですサービスの宣言

export class WidgetResourcesList { } 

答えて

0

あなたは、他のコンポーネント/サービス/パイプのための注射として、あなたのサービスをマーク。

プロバイダ:[]は依存関係のコンテナです。注射可能なサービスをコンテナに登録します。

+0

コンポーネントに注入可能なサービスを挿入する方法。その注入可能なクラスの型の変数を作成すると、アプリケーションを実行しているときに私のブラウザでエラーが発生しています(タイスクリプトエラーではありません)? –

+0

サンプルを提供できますか?コンストラクタインジェクションを使用します。エクスポートクラスMyComponent {コンストラクタ(プライベートウィジェット:WidgetResourcesList){}メソッド(){this.widget.foo()}} –

関連する問題