問題タブ [angular2-di]

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 に答える
77 参照

angular - angular DIを個別に使用する方法

この記事では、次のように述べています。

ただし、既存の DI (angular1) にはいくつかの問題があります。

フレームワークに組み込まれている - Angular 1 の DI はフレームワークに組み込まれています。スタンドアロン システムとして切り離して使用する方法はありません。

angular2 DI をスタンドアロン システムとして使用するにはどうすればよいですか? 私が理解しているように、個別のパッケージとして公開されていません。

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

javascript - @Host デコレータはインジェクタ ツリーでどのように機能しますか

@Hostデコレータが view-components から切り離されてどのように機能するかを理解しようとしています。そこで、次のインジェクター ツリーを作成しました。

私が理解しているように、grandchildインジェクターのホストはchildであり、インジェクターには何もDependency提供されていないため、エラーが発生することが予想されましたchild。ただし、このコードを実行すると'A'、ルート インジェクターからインジェクトされます。なんで?

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

angular - Angular 2 サービスをサービスに挿入する

私のアプリでは、いくつかのヘッダーを追加する独自の実装で Angular Http クラスを拡張しました。

次に、app.mobule.ts ファイルでこれを行ったので、基本バージョンの代わりに安全なバージョンが常に使用されます。

現在、私たちのサービスでは、標準のコンストラクター/DI アプローチを使用しています。

ここで私の問題は、JWT を取得するために必要な関数が 1 つあるため、SecurityService は Secure_Http クラス/サービスも注入する必要があることです。

しかし、コンストラクターのパラメーターとして Secure_Http クラス/サービスを追加するとすぐに、エラーが発生しますNo provider for Secure_Http

したがって、次に考えることは、app.module.ts ファイルの providers セクションに Secure_Http を追加することです。これは、Http が Secure_Http を使用する必要があると指定した場所のすぐ隣にあります。しかし、それを行うとすぐに、エラーが発生しますNo provider for ConnectionBackend。向きを変えてプロバイダーに追加ConnectionBackendすると、@NgModule にエラーが表示されますType 'typeof ConnectionBackend' is not assignable to type provider

ここでどこが間違っていますか?Secure_Http クラスに直接アクセスする必要があるメソッドが 1 つだけあります。これは、ポスト呼び出しの 1 つのパラメーターである必要があるため必要です。パラメータがすでに渡されているため、Secure_Httpサービス/クラスから呼び出すことはできません...