Enviar valor de cadena al componente en la navegación url en angular 2
Necesito ayuda para pasar una cadena (bookingNumber) a un componente cuando estoy usando el método router.navigate.
En este momento, tengo un servicio llamado bookingsService que tiene un método como este código aquí:
redirectToBookingPage(bookingNumber: string) {
var bookingNumber = bookingNumber;
this.router.navigate(['../Main']);
}
La redirección funciona, pero ¿cómo puedo enviar el valor bookingNumber y cargarlo en el componente?
El componente que debería obtener este valor está aquí:
import { Injectable, Inject, Component } from 'angular2/core';
import {RouteConfig, Router, ROUTER_DIRECTIVES} from 'angular2/router';
import {FORM_PROVIDERS} from 'angular2/common';
@Component({
selector: 'main-component',
providers: [...FORM_PROVIDERS],
directives: [...ROUTER_DIRECTIVES ],
styles: [`
agent {
display: block;
}
`],
pipes: [],
template: `
<div class="column small-12 main-area">
<div class="content content-container">
<div class="is-loading"></div>
<div class="row uncollapse login-container">
<div class="column small-12">
<div class="row">
<h1>Main</h1>
</div>
</div>
</div>
</div>
</div>
`,
bindings: [],
})
@Injectable()
export class MainComponent {
constructor() {
}
}
Creo que antes de cargar el html, ¿debería ejecutar un método en el constructor para obtener el número de reserva de la url?