angular 2 将参数传递给命名路由器出口?
angular 2 passing parameters to named router-outlet?
我正在通过命名路由器出口向我的 ChildComponent
发送参数。但是在子组件中,当我尝试访问参数时,它们是未定义的。
这是路由配置文件
{ path: 'contact-hold/:id', component: OperationComponent, outlet: 'popup' }
这是我的 link:
<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"]);
})
我已经解决了 Whosebug 中的其他问题并实施了解决方案,但仍然无法正常工作。此代码可能有什么问题?
试试这个:
import { ActivatedRoute } from '@angular/router';
routeSub: any;
constructor(
private route: ActivatedRoute
) {}
this.routeSub = this.route.params.subscribe((params) => {
console.log('params', params);
})
我正在通过命名路由器出口向我的 ChildComponent
发送参数。但是在子组件中,当我尝试访问参数时,它们是未定义的。
这是路由配置文件
{ path: 'contact-hold/:id', component: OperationComponent, outlet: 'popup' }
这是我的 link:
<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"]);
})
我已经解决了 Whosebug 中的其他问题并实施了解决方案,但仍然无法正常工作。此代码可能有什么问题?
试试这个:
import { ActivatedRoute } from '@angular/router';
routeSub: any;
constructor(
private route: ActivatedRoute
) {}
this.routeSub = this.route.params.subscribe((params) => {
console.log('params', params);
})