問題タブ [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.
angular - Angular2 プロバイダー
私はプロバイダーを完全に把握しておらず、これを理解できません。私はコンストラクタを持つクラスを持っています:
constructor(private http:Http, private url:string, private ext:string){}
ブートストラップ内で、DI に Http を提供するように指示するにはどうすればよいですか?その後、2 つの変数environment.url
を使用します。environment.ext
プロバイダーを使用する必要があることはわかっていますが、トークン文字列を受け入れないため、グローバルではなく、クラスの場合にのみ複数回指定する必要があります。
注:environment.url
クラス内で
インポートできることはわかっていenvironment.ext
ますが、依存関係を最小限に抑えるために、コンストラクターを介してこれら 2 つのパラメーターを設定したいと考えています。
angular - Angular 2 プロバイダーの例外
コンポーネントにサービスを注入すると、次のエラーが表示されます。
1 つ以上のプロバイダ "CategoriesComponent" が定義されていません: [?, [object Object], BrowserXhr, [object Object], [object Object], XHRBackend, [object Object]].
この問題を解決するのを手伝ってください。どうもありがとう
以下は私のコードです:
カテゴリ.サービス.ts
カテゴリ.コンポーネント.ts
navbar.component.ts
angular - Angular 2 - 「マルチ」プロバイダーを使用して Http をオーバーライドする
Http
リクエストの前とレスポンスの後にいくつかの操作を行うなど、カスタム クラスでオーバーライドしたいHttpClient
のですが、プラットフォームの http クラスの代わりにそのクラスをインポートすることを覚えておく必要はありません。
「マルチ」プロバイダーを介してこれを試してみましたが、クリックすることはできません。
これが私のオーバーライドクラスです:
そして、これが私のmain.tsです
しかし、アプリで http.get() を呼び出そうとすると、
何か案は?私はこれについて間違った方法で進んでいますか?
ありがとう!
アップデート
このブログ投稿を見つけました。Gunter が以下で説明していることをほぼ説明しています。私は彼の答えを受け入れています。
unit-testing - Angular 2 TestBed とモック
別のサービスを使用するコンポーネントをテストしようとしています。そして、サービスのモックを提供してコンポーネントを分離したいと考えています。addproviders
RC5 より前は、非推奨になり、次の RC で削除されるものを簡単に使用できます。代わりに、を使用する必要がありTestBed
ます。何らかの理由でモック angular を提供すると、モックが依存するサービスを探し続けます。を投げますDI exception
。すべての依存関係を提供すると、テストは機能しますが、テスト スイートごとに繰り返したくありません。そして、これは基本的なオブジェクト指向の原則を破ります。私のテストスイート:
角度 2.0.0-RC5
angular - RuntimeCompiler のランタイム プロバイダがありません
ここで受け入れられた回答に従い、RuntimeCompiler.clearCache() を呼び出しようとしています。
これが私がそれをやろうとした方法です:
しかし、私はこのエラーが発生しています:
私はここに何が欠けていますか?
angular - オブジェクトをサービスに提供する
別の人 ( github )によって実装されたサービスを使用しようとしています。
このサービスには、構成を渡す必要があります。レポによると:
率直に言って、私が従ったいくつかのチュートリアルでサービスに設定を挿入する必要がなかったため、この情報をどうすればよいかわかりません。Google はあまり役に立ちませんでした。
これまでに行ったことは、モジュールにサービスを追加することですhome.module.ts
:
そして私のコンポーネントhome.component.ts
:
予想どおり、アプリを実行すると、次のエラーが発生します。
私の質問は、オブジェクトをサービスに提供するにはどうすればよいですか? この場合、Neo4jSettings
.
angular - Angular2 依存性注入: 注入されたパッケージの名前の前に表示される「...」構文は何ですか (つまり、「providers = [...SomeProvider]」)
私は Angular2 を使い始めたばかりで、通常、プロバイダーを注入すると次のようになります。
ただし、次のように注入されるプロバイダー名の前に「...」を含むパッケージを見てきました。
なぜこれが行われているのですか?は何で、...
何をしているのか?