我有两条道路:
{ path: "evidencija/:type/:specId/:activeIndex", component: VpnEvidencijaFlowComponent },
{ path: "evidencija/:type/:offerId/:specId/:activeIndex", component: VpnEvidencijaFlowComponent },
在ts中我有这个:
this.router.navigate(['/evidencija', this.type, children.key, 0], {queryParams: this.queries});
问题是我得到了所有这些参数但它在应该是offerId的地方设置了undefined但在某些情况下我没有。任何建议为什么我在url中得到未定义?
答案 0 :(得分:0)
问题在于您的路线,您不必在路径中定义参数。
他必须将名称与路线(以及页面)相关联
如果您想在路线中使用传递参数,则需要使用如下导航:
this.router.navigate(['/evidencija', this.type, children.key, 0]);
你的路径只是:
{ path: 'evidencija', component: VpnEvidencijaFlowComponent},
并在其他组件导入中读取您的参数:
import { ActivatedRoute } from '@angular/router';
在contructor中声明它:
private route: ActivatedRoute
在NgInit中获取你的参数:
ngOnInit() {
this.sub = this.route.params.subscribe(params => {
this.id = params['id'];
});
}