angular/aio/content/guide/set-document-title.md
Roberto Ortega 15bb08eea6
Traducir: guide/set-document-title.md #215 (#259)
Co-authored-by: Daniel Díaz <36966980+dalejodc@users.noreply.github.com>
2020-10-16 03:42:11 -04:00

3.5 KiB

{@a top}

Establecer el título del documento

Tu aplicación debería poder hacer que el título de la barra del navegador diga lo que quieras que diga. Esta guía explica cómo hacerlo.

Ve el .

El problema con el <título>

La manera mas obvia es enlazar una propiedad del componente al HTML <title> como este:

<title>{{Esto_No_Funciona}}</title>

Lamentablemente eso no funcionará. El componente raíz de la aplicación es un elemento contenido en la etiqueta <body>. El <title> HTML está en el <head> del documento, fuera del <body>, lo que lo hace inaccesible para el enlace de datos de Angular.

Tu podrías tomar el objeto document del navegador y establecer el título manualmente. Eso no es ideal y socava tus posibilidades de ejecutar la aplicación fuera de un navegador algún día.

Ejecutar tu aplicación fuera de un navegador significa que puedes aprovechar las ventajas del renderizado del lado del servidor para tiempos del primer renderizado de la primera aplicación casi instantáneos y para SEO. Significa que puedes correr la aplicación dentro de un Web Worker para mejorar la capacidad de respuesta de tu aplicación mediante el uso de varios subprocesos. Y también significa que puedes ejecutar tu aplicación dentro de Electron.js o Windows Universal para enviarla al escritorio.

Utiliza el servicio Title

Afortunadamente, Angular reduce las diferencias al proporcionar un servicio Title como parte de la plataforma del navegador. El servicio Title es una clase simple que proporciona un API para obtener y configurar el título del documento HTML actual:

  • getTitle() : string—Obtiene el título del documento HTML actual.
  • setTitle( newTitle : string )—Establece el título del documento HTML actual.

Puedes inyectar el servicio Title en la raíz de AppComponent y exponer un método setTitle enlazable que lo llame:

¡Enlaza ese método a tres etiquetas de anclaje y listo!

Set title

Aquí está la solución completa:

¿Por qué proporcionar el servicio Title en el arranque?

Por lo general, deseas proporcionar servicios para toda la aplicación en el componente de la aplicación raíz, AppComponent.

Esta guía recomienda registrar el servicio de títulos durante el arranque (boostrapping), una ubicación que se reserva para configurar el ambiente de ejecución de Angular.

Eso es exactamente lo que está haciendo. El servicio Title es parte de la plataforma del navegador de Angular. Si inicias tu aplicación en una plataforma diferente, tendrás que proporcionar un servicio de Title diferente que comprenda el concepto de un "título de documento" para esa plataforma específica. Idealmente, la aplicación en sí no conoce ni se preocupa por el ambiente de ejecución.