2

我通过命名路由器出口将参数发送到我的ChildComponent. 但是在子组件中,当我尝试访问参数时,它们是未定义的。

这是路由配置文件

{ 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中的其他问题并实施了解决方案,但仍然无法正常工作。这段代码可能有什么问题?

4

1 回答 1

4

试试这个 :

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

routeSub: any;

constructor(
    private route: ActivatedRoute
) {}

this.routeSub = this.route.params.subscribe((params) => {
    console.log('params', params);
})
于 2017-09-12T12:36:08.527 回答