問題タブ [angular2-providers]

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

angular - Angular2 プロバイダー

私はプロバイダーを完全に把握しておらず、これを理解できません。私はコンストラクタを持つクラスを持っています: constructor(private http:Http, private url:string, private ext:string){}

ブートストラップ内で、DI に Http を提供するように指示するにはどうすればよいですか?その後、2 つの変数environment.urlを使用します。environment.ext

プロバイダーを使用する必要があることはわかっていますが、トークン文字列を受け入れないため、グローバルではなく、クラスの場合にのみ複数回指定する必要があります。

注:environment.urlクラス内で インポートできることはわかっていenvironment.extますが、依存関係を最小限に抑えるために、コンストラクターを介してこれら 2 つのパラメーターを設定したいと考えています。

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

angular - Angular 2 プロバイダーの例外

コンポーネントにサービスを注入すると、次のエラーが表示されます。

1 つ以上のプロバイダ "CategoriesComponent" が定義されていません: [?, [object Object], BrowserXhr, [object Object], [object Object], XHRBackend, [object Object]].

この問題を解決するのを手伝ってください。どうもありがとう

以下は私のコードです:

カテゴリ.サービス.ts

カテゴリ.コンポーネント.ts

navbar.component.ts

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

angular - Angular 2 - 「マルチ」プロバイダーを使用して Http をオーバーライドする

Httpリクエストの前とレスポンスの後にいくつかの操作を行うなど、カスタム クラスでオーバーライドしたいHttpClientのですが、プラットフォームの http クラスの代わりにそのクラスをインポートすることを覚えておく必要はありません。

「マルチ」プロバイダーを介してこれを試してみましたが、クリックすることはできません。

これが私のオーバーライドクラスです:

そして、これが私のmain.tsです

しかし、アプリで http.get() を呼び出そうとすると、

何か案は?私はこれについて間違った方法で進んでいますか?

ありがとう!

アップデート

このブログ投稿を見つけました。Gunter が以下で説明していることをほぼ説明しています。私は彼の答えを受け入れています。

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

unit-testing - Angular 2 TestBed とモック

別のサービスを使用するコンポーネントをテストしようとしています。そして、サービスのモックを提供してコンポーネントを分離したいと考えています。addprovidersRC5 より前は、非推奨になり、次の RC で削除されるものを簡単に使用できます。代わりに、を使用する必要がありTestBedます。何らかの理由でモック angular を提供すると、モックが依存するサービスを探し続けます。を投げますDI exception。すべての依存関係を提供すると、テストは機能しますが、テスト スイートごとに繰り返したくありません。そして、これは基本的なオブジェクト指向の原則を破ります。私のテストスイート:

角度 2.0.0-RC5

0 投票する
4 に答える
2151 参照

angular - RuntimeCompiler のランタイム プロバイダがありません

ここで受け入れられた回答に従い、RuntimeCompiler.clearCache() を呼び出しようとしています。

これが私がそれをやろうとした方法です:

しかし、私はこのエラーが発生しています:

私はここに何が欠けていますか?

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

angular - オブジェクトをサービスに提供する

別の人 ( github )によって実装されたサービスを使用しようとしています。

このサービスには、構成を渡す必要があります。レポによると:

率直に言って、私が従ったいくつかのチュートリアルでサービスに設定を挿入する必要がなかったため、この情報をどうすればよいかわかりません。Google はあまり役に立ちませんでした。

これまでに行ったことは、モジュールにサービスを追加することですhome.module.ts:

そして私のコンポーネントhome.component.ts

予想どおり、アプリを実行すると、次のエラーが発生します。

私の質問は、オブジェクトをサービスに提供するにはどうすればよいですか? この場合、Neo4jSettings.

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

angular - Angular2 依存性注入: 注入されたパッケージの名前の前に表示される「...」構文は何ですか (つまり、「providers = [...SomeProvider]」)

私は Angular2 を使い始めたばかりで、通常、プロバイダーを注入すると次のようになります。

ただし、次のように注入されるプロバイダー名の前に「...」を含むパッケージを見てきました。

なぜこれが行われているのですか?は何で、...何をしているのか?