问题
I would like to append parameters to url:
let params = [];
params["p1"] = "value1";
params["p2"] = "value2";
this.location.go(this.router.createUrlTree([this.data]).toString());
When I have this url localhost/project/page
its work correct. But when I have url localhost/project/page/id
after append url is localhost/project/page/p1=..
I need to keep the parameter in url and add the new one. thanks for advices
回答1:
When you click the button, call a method like the one below?
Here this.router
is Router
instance, inject it in your component.
onClick(params) {
this.router.navigate(['project', 'page', {id : id}], {queryParams: {p1: params['p1'], p2: params['p2']}});
}
回答2:
You can send params in the routing like below -
[routerLink]="['project/page','params']"
If you wish to send it as query params
send it like this -
<a [routerLink]="['project/page']" [queryParams]="{ page: 99 }">Your caption</a>
来源:https://stackoverflow.com/questions/50717113/angular-append-params-to-url