Ruta
const appRoutes: Routes = [
{ path: '', redirectTo: '/companies/unionbank', pathMatch: 'full'},
{ path: 'companies/:bank', component: BanksComponent },
{ path: '**', redirectTo: '/companies/unionbank' }
]
Componente
const NAVBAR = [
{
name: 'Banks',
submenu: [
{ routelink: '/companies/unionbank', name: 'Union Bank' },
{ routelink: '/companies/metrobank', name: 'Metro Bank' },
{ routelink: '/companies/bdo', name: 'BDO' },
{ routelink: '/companies/chinabank', name: 'China Bank' },
]
},
...
]
Ejemplo de enlace: http://localhost:8099/#/companies/bdo
Quiero obtener String bdo en el enlace de ejemplo anterior.
Soy consciente de que puedo obtener el enlace usando window.location.href y dividirlo en una matriz. Entonces, puedo obtener el último parámetro, pero quiero saber si hay un método adecuado para hacer esto de forma angular.
Cualquier ayuda sería apreciada. Gracias
fuente

paramMap, deberías usar en suparams.get('bank')lugar.this.route.snapshot.paramMap.get('bank');ythis.route.snapshot.params.bank;?A partir de Angular 6+, esto se maneja de manera ligeramente diferente a las versiones anteriores. Como @BeetleJuice menciona en la respuesta anterior ,
paramMapes una nueva interfaz para obtener parámetros de ruta, pero la ejecución es un poco diferente en las versiones más recientes de Angular. Suponiendo que esto está en un componente:Prefiero usar ambos porque luego, en la carga directa de la página, puedo obtener el parámetro de ID, y también si navego entre entidades relacionadas, la suscripción se actualizará correctamente.
Fuente en Angular Docs
fuente
switchMaprequeriría aquí? ¿No se llamará también al suscriptor cuando se cargue la página directamente?mapoperador RxJS . Pero elHeroServiceresultado es unObservable<Hero>. Entonces, en su lugar, aplana el Observable con elswitchMapoperador. ElswitchMapoperador también cancela las solicitudes anteriores en vuelo. Si el usuario vuelve a navegar a esta ruta con una nueva,idmientrasHeroServiceque todavía está recuperando la antiguaid,switchMapdescarta esa solicitud anterior y devuelve el héroe para la nuevaid".