問題タブ [angular-dependency-injection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
260 参照

angular - インターフェイスを使用したファクトリ メソッドによる Angular2 依存性注入

Angular2 依存性注入を使用しようとしていますが、次のエラー メッセージが表示されます。

エラー NG2003: クラス 'PaymentService' のパラメーター 'service' に適切なインジェクション トークンがありません

app.module.ts - ファクトリ メソッドを持つプロバイダー

payment.service.ts - 注入可能な支払いサービス

payment.interface.ts、card-payment.ts、paypal-payment.tsファイル

注: PaymentService ファイルのインターフェイス「Payment」をその実装の 1 つ (PaymalPayment または CardPayment) に置き換えると、すべて正常に動作します。しかし、そこにインターフェースがあるのはかなり一般的なケースです。

完全なソースコードはこちら

  1. git クローンhttps://github.com/karenmargaryan/di-via-interfaces-issue
  2. cd di-via-interfaces-issue
  3. npm インストール
  4. サーブしない
0 投票する
1 に答える
227 参照

angular - インターフェイス/モジュールへのAngular 8サービスのインポート

config.serivce.ts に ConfigService というサービスがあります。値を返す関数 ( getClientID ) を取得し、この値をモジュール ファイル appAuth.module.ts にインポートする必要があります。

そのようなファイルにサービス関数から値を挿入する方法を知る必要がありますか?

たとえば、私の appAuth.module.ts で:

0 投票する
2 に答える
70 参照

angular - angularサービスインジェクション戦略を指定する方法は?

次のようなサービスがあります。

そして、私は次のような複数のコンポーネントに注入しています。

しかし、ルートが変更されるたびに BoxContainerService の新しいインスタンスを取得したいと考えています。ページを更新すると、新しいインスタンスが作成されます。しかし、MyList_page から B_page にルーティングし、再び MyList_page にルーティングすると、box$ カウントが増加します。モジュール中にサービスインスタンスを再作成したい。モジュールを別のモジュールにインポートするためです。