如何使用Angular 2 ActivatedRoute更改网址中的ID?

时间:2017-04-21 09:36:34

标签: angular url typescript angular-routing

我想更改网址中的参数而不更改网址。 enter image description here

我有这个打字稿代码:

onRowClicked(event: any) {
    let currentIdPerson = event.data.IdPerson;
}

我想向IdPerson发送URL,我该怎么做?

2 个答案:

答案 0 :(得分:1)

Es6支持位置.go方法 因此,从@ angular / common module

导入构造函数组件中的Location
constructor(private location: Location){}

onRowClicked(event :any ){
this.location.go(`person\${event.data.personId}\identification`);
}

你的问题有点不完整,但我想这是我能给你的最简单的答案

答案 1 :(得分:0)

订阅activatedRoute的网址。 解析数组的路径。替换数组中的id。 加入数组并替换url。 " this.location"是一种位置

this.activatedRoute.url.first().subscribe(url => {
            let path = this.location.path().split('/');
            let index = path.indexOf(url[0].path);
            path.splice(index, count, currenIdPerson);


            this.location.replaceState(path.join('/'));


        });