次の方法で共有


IServiceKey interface

ServiceKey は、 ServiceScope.consume() を呼び出して依存関係をフェッチするときに使用される参照キーです。

注釈

また、すべてのサービス キーは依存関係の既定の実装も提供します。依存関係が見つからない場合は、ルート スコープで自動的に作成されます。 既定の実装を提供すると、新しい依存関係を提供しない古いホストによって読み込まれたコンポーネントが誤って破損することなく、新しい依存関係を安全に導入できるようになります。

プロパティ

defaultCreator

このサービスの既定のインスタンスを構築するコールバック関数。

id

このサービス キーの一意識別子。

name

サービスの名前。

プロパティの詳細

defaultCreator

このサービスの既定のインスタンスを構築するコールバック関数。

readonly defaultCreator: ServiceCreator<T>;

プロパティ値

id

このサービス キーの一意識別子。

readonly id: string;

プロパティ値

string

注釈

この識別子は、ページの有効期間中に一意になる自動的に生成される文字列です。 呼び出し元は、この文字列の書式設定について想定しないでください。 現在はグローバル カウンターに基づいていますが、今後変更される可能性があります。

ServiceScope は、サービスを検索するためのディクショナリ キーとして、この識別子を内部的に使用します。 ServiceKey は、同じ名前が ServiceKey.create() に渡された場合でも、同じライブラリの複数のインスタンスが同じページに読み込まれた場合でも、一意であることを意図しています。 これは、ServiceKey.create() の呼び出しごとに異なる defaultCreator 実装が提供される可能性があるためです。一方、ServiceScope の設計目標の 1 つは、ライブラリの読み込み順序がスコープの結果のツリーに影響を与えてはならないということです。

name

サービスの名前。

readonly name: string;

プロパティ値

string

注釈

この名前は、ログ記録と診断の目的でのみ使用されます。 一意にするために、推奨される規則はパッケージ名、ピリオド、続いてクラスまたはインターフェイス名です。

システムでは、この文字列が一意であるとは想定されません。 代わりに、検索キーが必要な場合はどこでも、 ServiceKey.id が使用されます。