Ionic 5,Angular 9从URL中删除查询参数



我有PWA和一个带有Ionic 5的移动应用程序。我单击电子邮件中的URL,该URL使用通用链接重定向我。

https://example.com/?param1=value1&param2=value2

我的目标是在页面加载时使用params创建一个新对象,然后删除params并导航到下一页。我使用的位置看起来像这样。

this.route.queryParams.subscribe(
params => {
if (params.create) {
const navParams = params;
// Do something with params         
this.location.replaceState("/");
this.navCtrl.navigateForward("/another-page/:id)
}
}
)

这一切都很好,参数被从URL中删除,但问题是当我使用ion-back-button导航回来时,它会把我送回主页,但参数会再次加载。我猜queryParams并没有用this.location.replaceState("/")完全清除。

在导航到下一页之前,我尝试了this.navCtrl.setRoot(""),但没有成功。

你能给我建议吗?谢谢

尝试在执行this.navCtrl.navigateForward:时导航到这样的页面

https://example.com/nextpage/?params

通过在两者之间添加nextpage,它可以实现您想要实现的目标,但它会将额外的下一页添加到您的url 中

这样,当您返回导航时,上一个参数将消失。

不确定您是否设法解决了这个问题,但您可以尝试。。。

import { ActivatedRoute } from '@angular/router';
...
...
const paramValue = this.activatedRoute.snapshot.queryParamMap('paramKey');

最新更新