angular - 按下后退浏览器按钮时忽略查询参数

标签 angular

我的仪表板组件中有三个选项卡。单击任何选项卡时,url 会附加 queryParam 和选项卡信息(例如 root/dashboard?tab=tab1)。 如果用户单击多个选项卡然后按下返回按钮,则会显示先前选项卡的 queryParams,这是正确的。

但是,我希望路由器忽略所有 queryParams 并导航到上一个路由(例如 root/profiles)。

如何在 Angular 中做到这一点?

最佳答案

在您的路由器链接上,您需要将 replaceUrl 属性设置为 true。这将导致点击的任何链接都将当前浏览器历史记录位置替换为当前链接。

<a [routerLink]="['./']" replaceUrl="true" [queryParams]="{tab: 'tab1'}">Tab1</a>
<a [routerLink]="['./']" replaceUrl="true" [queryParams]="{tab: 'tab2'}">Tab2</a>
<a [routerLink]="['./']" replaceUrl="true" [queryParams]="{tab: 'tab3'}">Tab3</a>

关于angular - 按下后退浏览器按钮时忽略查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51563600/

相关文章:

angular - ng如果无法立即使用(Angular Dart)

java - 如何将 Angular 与 Spring Boot 集成以在 Spring Boot 端口上查看 Angular Web 界面?

javascript - Angular 中动态更改/恢复页面标题

javascript - Angular 无法读取未定义的属性 'navigate'

Angular 2 : Input variable in Component does not update once called

css - Angular 2 从styles.scss 扩展样式

forms - 将自定义服务注入(inject)自定义验证器

javascript - 通过 Angular 在 json 对象中显示列表的最佳方法

angular - forkjoin 在 Angular 10 替代方案中已弃用

javascript - Angular : ngFor data items and display custom message if empty