IServiceKey interface

O ServiceKey é uma chave de pesquisa usada ao chamar ServiceScope.consume() para buscar uma dependência.

Comentários

Cada chave de serviço também fornece uma implementação padrão da dependência, que será criada automaticamente no escopo raiz se a dependência não for encontrada. Fornecer uma implementação padrão garante que novas dependências possam ser introduzidas com segurança sem interromper inadvertidamente componentes carregados por um host mais antigo que não fornece a nova dependência.

Propriedades

defaultCreator

Uma função de retorno de chamada que constrói a instância padrão desse serviço.

id

Um identificador exclusivo para essa chave de serviço.

name

O nome do serviço.

Detalhes da propriedade

defaultCreator

Uma função de retorno de chamada que constrói a instância padrão desse serviço.

readonly defaultCreator: ServiceCreator<T>;

Valor da propriedade

id

Um identificador exclusivo para essa chave de serviço.

readonly id: string;

Valor da propriedade

string

Comentários

Esse identificador é uma cadeia de caracteres gerada automaticamente que será exclusiva durante o tempo de vida da página. Os chamadores não devem fazer suposições sobre a formatação dessa cadeia de caracteres. Atualmente, ele se baseia em um contador global, mas isso pode mudar no futuro.

O ServiceScope usa esse identificador internamente como uma chave de dicionário para localizar serviços. A ServiceKey deve ser exclusiva, mesmo que várias instâncias da mesma biblioteca sejam carregadas na mesma página, mesmo que o mesmo nome tenha sido passado para ServiceKey.create(). Isso ocorre porque cada chamada para ServiceKey.create() pode fornecer uma implementação defaultCreator diferente, enquanto um dos objetivos de design do ServiceScope é que a ordem na qual as bibliotecas são carregadas nunca afete a árvore de escopos resultante.

name

O nome do serviço.

readonly name: string;

Valor da propriedade

string

Comentários

Esse nome é usado apenas para fins de log e diagnóstico. Para torná-lo exclusivo, a convenção recomendada é o nome do pacote, seguido por um ponto, seguido pelo nome da classe ou interface.

O sistema não presume que essa cadeia de caracteres seja exclusiva. Em vez disso, o ServiceKey.id é usado sempre que uma chave de pesquisa é necessária.