Angular2 - 将params传递给命名的插座

时间:2017-08-30 08:45:51

标签: angular parameters routing

我需要将params从默认插座传递到指定的插座。过了之后,我得到的只是“未定义”。这是我的代码。

[routerLink]="['', { outlets: { secondOutlet: 'messages' }, name: this.userName, lastName: this.userLastName}]"

我收到params。

    this.route$ = this.route.params.subscribe((params: Params) => {
     this.name= params['name'];
     this.lastName= params['lastName'];
   });

我没有得到任何错误,但在控制台中,我得到的都是未定义的。 我可以将params发送到一条路线,如果它在同一个插座上,但是我不知道如何通过从一个插座向另一个插座发送params来实现它。

3 个答案:

答案 0 :(得分:4)

  [routerLink]="['', { outlets: { secondOutlet: ['messages', this.userName ] } }]"

和路线规范

Routes = [
{
    path: 'messages/:username',
    component: AccountsEditComponent,
    outlet: 'secondOutlet'
  }
]

答案 1 :(得分:1)

你可以看看这篇文章

passing params routed outlet

我希望它可以帮到你

答案 2 :(得分:0)

它的工作原理如下。 发送这样的参数:

[routerLink]="['', { outlets: { secondOutlet: ['messages', this.username] } }]"

在路线中设置你的组件就像这样。

Routes = [
{
    path: 'messages/:username',
    component: AccountsEditComponent,
    outlet: 'secondOutlet'
  }
]