Compartir a través de


IServiceKey interface

ServiceKey es una clave de búsqueda que se usa al llamar a ServiceScope.consume() para capturar una dependencia.

Comentarios

Cada clave de servicio también proporciona una implementación predeterminada de la dependencia, que se creará automáticamente en el ámbito raíz si no se encuentra la dependencia. Proporcionar una implementación predeterminada garantiza que las nuevas dependencias se puedan introducir de forma segura sin interrumpir accidentalmente los componentes cargados por un host anterior que no proporciona la nueva dependencia.

Propiedades

defaultCreator

Función de devolución de llamada que construye la instancia predeterminada de este servicio.

id

Identificador único de esta clave de servicio.

name

Nombre del servicio.

Detalles de las propiedades

defaultCreator

Función de devolución de llamada que construye la instancia predeterminada de este servicio.

readonly defaultCreator: ServiceCreator<T>;

Valor de propiedad

id

Identificador único de esta clave de servicio.

readonly id: string;

Valor de propiedad

string

Comentarios

Este identificador es una cadena generada automáticamente que será única durante la duración de la página. Los autores de llamadas no deben hacer suposiciones sobre el formato de esta cadena. Actualmente se basa en un contador global, pero esto puede cambiar en el futuro.

ServiceScope usa este identificador internamente como clave de diccionario para buscar servicios. ServiceKey está pensado para ser único, incluso si se cargan varias instancias de la misma biblioteca en la misma página, incluso si el mismo nombre se pasó a ServiceKey.create(). Esto se debe a que cada llamada a ServiceKey.create() podría proporcionar una implementación defaultCreator diferente, mientras que uno de los objetivos de diseño de ServiceScope es que el orden en el que se cargan las bibliotecas nunca debería afectar al árbol resultante de ámbitos.

name

Nombre del servicio.

readonly name: string;

Valor de propiedad

string

Comentarios

Este nombre solo se usa con fines de registro y diagnóstico. Para que sea único, la convención recomendada es el nombre del paquete, seguido de un punto, seguido del nombre de la clase o interfaz.

El sistema no supone que esta cadena sea única. En su lugar, el ServiceKey.id se usa siempre que se necesita una clave de búsqueda.