Typescript 将字符串值发送到angular 2中url导航上的组件

Typescript 将字符串值发送到angular 2中url导航上的组件,typescript,angular,Typescript,Angular,当我使用router.navigate方法时,我需要一些关于向组件传递字符串(bookingNumber)的帮助 现在,我有一个名为bookingsService的服务,其方法如下: redirectToBookingPage(bookingNumber: string) { var bookingNumber = bookingNumber; this.router.navigate(['../Main']); } 重定向工作正常,但如何发送值bookingNum

当我使用router.navigate方法时,我需要一些关于向组件传递字符串(bookingNumber)的帮助

现在,我有一个名为bookingsService的服务,其方法如下:

    redirectToBookingPage(bookingNumber: string) {

    var bookingNumber = bookingNumber;

    this.router.navigate(['../Main']);
}
重定向工作正常,但如何发送值bookingNumber并将其加载到组件中

应获得此值的组件如下所示:

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() {


    } 

}
从'angular2/core'导入{Injectable,injection,Component};
从'angular2/Router'导入{RouteConfig,Router,Router_指令};
从“angular2/common”导入{FORM_PROVIDERS};
@组成部分({
选择器:'主要组件',
提供者:[……表格提供者],
指令:[……路由器指令],
风格:[`
代理人{
显示:块;
}
`],
管道:[],
模板:`
主要
`,
绑定:[],
})
@可注射()
导出类主组件{
构造函数(){
} 
}

我认为在加载html之前,应该在构造函数中运行一个方法,从url获取bookingNumber?

首先,必须配置主路由以接受参数

@RouteConfig([
 { component: MainComponent, path: "/:id" }
])
然后,重定向时,必须按如下方式传递参数值:

this.router.navigate(['../Main', {id: 2}]);
最后,在MainComponent中,您必须捕获该参数:

export class MainComponent {
 constructor(params: RouteParams) {
  let value: any = params.get("id");
 }
}

首先,您必须配置主路由以接受参数

@RouteConfig([
 { component: MainComponent, path: "/:id" }
])
然后,重定向时,必须按如下方式传递参数值:

this.router.navigate(['../Main', {id: 2}]);
最后,在MainComponent中,您必须捕获该参数:

export class MainComponent {
 constructor(params: RouteParams) {
  let value: any = params.get("id");
 }
}

Thx快速回答。。我马上去看看。谢谢你的快速回答。。我马上去看看。