問題タブ [angular2-opaquetoken]
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 - Angular 2 Opaque Token には何があり、ポイントは何ですか?
Angular 2 でグローバル定数を実装するための解決策として、「不透明なトークン」に遭遇しています。
docsを読んでも、ポイントを把握できないようです。
複数のプロバイダーが同じ文字列を 2 つの異なるトークンとして使用すると衝突が発生する可能性があるため、文字列をトークンとして使用するよりも OpaqueToken を使用することをお勧めします。
何?そもそもAngular2トークンとは? 私がGoogleで得たのは、JSON Webトークン(認証における役割など)に関する回答だけです。これは理解していますが、明らかに関係はありません。
不透明なトークンとは何ですか? それは何のために使用されますか?
PS定数を提供するために使用される不透明なトークンに関するその他のドキュメント。しかし、彼らは私をあまり助けませんでした。
angular - OpaqueTokens - 入力する代わりに @Inject(token) が必要な理由
@Inject(...)
タイプのように使用するのではなく、なぜ OpaqueTokenが必要なのですか?
なぜこれが機能するのですか:
そして、これはしません:
次の OpaqueToken を宣言/提供した場合:
app.constants.ts :
app.module.ts:
angular - OpaqueToken を使用した Angular2 Routing-Resolve インターフェイスの使用
ルート/コンポーネントがインスタンス化される前にデータをフェッチしたい。したがって、Angular2-Routing-Module の "Resolver" インターフェイスを使用したいと考えています。
私のコードを見てください。プロバイダー名として文字列を使用していますが、プロバイダーに OpaqueToken を使用するとエラーがスローされます。
「NOT WORKING」コメントに注意してください。
1 My (Child-)Routes (抜粋)。
2 私のモジュールのコード (抜粋):
3 私のカスタム Resolver-Class (抜粋):
文字列 ("myResolver") を作成された OpaqueToken ("MyToken" - もちろん引用符なし) に置き換えることはできません。理由がわからない。複数のプロバイダーに複数の OpaqueToken を使用していますが、リゾルバーはそれを使用できません。
コンソールのエラー メッセージは次のように表示されますが、これ以上の情報はありません。
エラー: トークンを定義する必要があります!
誰でもアイデアはありますか?
angular - Service と Token / OpaqueToken を使用して Angular で Window オブジェクトを取得する理由
先日、私のコードが気に入らない同僚と話していました。私のAngularコンポーネントでは、そのwindow
ようにオブジェクトにアクセスしますprivate myWindow = window;
彼は、より良い方法は、サービスとトークン/ OpaqueToken (OpaqueToken が何であるかはわかりません) を使用することだと言いました。
そして、サービスを注入してオブジェクトを取得できます...
それはすべて非常に素晴らしくきれいに見えますが、オブジェクトに変数を割り当てるだけでなく、トークン(またはトークンが何をするか)とサービスを使用する利点を理解していませんwindow
-サービスとトークンを使用する方が良い方法である理由を誰かに教えてもらえますか?