角度2传递参数到命名路由器出口?

时间:2017-09-12 11:29:28

标签: angular angular2-routing router-outlet

我通过命名的router-outlet向我的ChildComponent发送参数。但是在我尝试访问params的子组件中,它们是未定义的。

这是route-config文件

{ path: 'contact-hold/:id', component: OperationComponent, outlet: 'popup' }

这是我的链接:

<a [routerLink]="['\',{outlets:{popup:['hold',1]}}]">Hold</a>

以下是浏览器中的内容:

/contact-list(popup:contact-hold/1)

这是我在AppComponent保留的路由器插座:

<router-outlet name="popup"></router-outlet>

我在我的操作组件中访问此参数:

this.route.queryParams.subscribe(params=> {      
      console.log(params["id"]);
    })  

我已经在stackoverflow中解决了其他问题并实施了解决方案,但仍然无法正常工作。这段代码可能有什么问题?

1 个答案:

答案 0 :(得分:2)

试试这个:

import { ActivatedRoute } from '@angular/router';

routeSub: any;

constructor(
    private route: ActivatedRoute
) {}

this.routeSub = this.route.params.subscribe((params) => {
    console.log('params', params);
})