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
| default |
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.