these two are the same route, but one has parameters and the other does not
<ng-container *ngFor="let item of menu">
<li *ngIf="!item.son&&item.action_type < 3" nz-menu-item [nzSelected]="isMenuSelected(item)" (click)="getMenuAction(sonItem)" [routerLink]="["/" + item.action_url]">{{ item.action_name }}</li>
<li *ngIf="item.son" nz-submenu>
<div title>{{ item.action_name }}</div>
<ul>
<ng-container *ngFor="let sonItem of item.son">
<li *ngIf="sonItem.action_type < 3" [nzSelected]="isMenuSelected(sonItem)" (click)="getMenuAction(sonItem)" nz-menu-item (click)="jumpHandle(sonItem)">{{ sonItem.action_name }}</li>
</ng-container>
</ul>
</li>
</ng-container>
//
jumpHandle(item) {
this.router.navigate([item.action_url], {
queryParams: {
[item.is_param]: item.param_value
}
})
}