javascript - Angular 5 - ¿Cuál debería usar para navegar hacia atrás - href o location.back()?
Tengo una aplicación de la que se puede navegar a una página en la que no hay forma de avanzar. Piensa en hacer clic en un programa en una guía de televisión para abrir una página con los detalles de ese programa; obviamente querrás volver a la guía de televisión.
Para que un botón vuelva hacia la guía de televisión, tengo una etiqueta <a>.
Cuál sería el caso de uso más recomendable para esto:
- Usando
href="/guide"
o
- Usando
(click)=goBack()donde la función llama alocation.back()
Respuesta #1
Deberías usar el servicio de ubicación integrado de Angular como.
Angular-Location
import {Component} from '@angular/core';
import {Location} from '@angular/common';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
class AppComponent {
constructor(private location: Location) {
}
back() {
this.location.back();
}
}
Respuesta #2
Si quieres navegar en una aplicación Angular, no querrás usar los enlaces clásicos href, ya que están diseñados para funcionar en aplicaciones renderizadas por el servidor, pero no en aplicaciones del lado del cliente que usan la API de Historia de Javascript.
Prefiere usar RouterLink de Angular.
Entre RouterLink y location.back() la elección es tuya, depende de si quieres controlar la página a la que deseas redirigir o si solo quieres el mismo comportamiento que el botón de retroceso de tu navegador.
