1

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

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

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

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("")过,但这没有用。

你能建议吗?谢谢。

4

2 回答 2

0

尝试导航到这样的页面this.navCtrl.navigateForward

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

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

这样,当您向后导航时,前一个参数将消失。

于 2020-04-02T23:05:25.950 回答
0

不知道你是否设法解决了这个问题,但你可以试试这个......

import { ActivatedRoute } from '@angular/router';

...
...

const paramValue = this.activatedRoute.snapshot.queryParamMap('paramKey');
于 2020-11-11T16:56:24.397 回答