angular 如何在不丢失他们传递给我的查询字符串的情况下刷新页面

angular how to refresh the page without losing the query string they pass to me

我正在创建一个小型预订应用程序,您无需在其中注册。 我创建了一个方法来获取查询字符串参数,并在启动时 (ngOinit) 它识别参数以及用户 ID 并加载同一用户 ID 进行的所有约会。问题是,在进行预订时,我插入了一个关闭确认对话框并刷新页面的按钮,刷新页面后,查询字符串不再出现,我自动失去了捕获用户 ID 的能力!你能告诉我如何在不丢失用户 ID 的情况下刷新页面吗?

捕获查询的方法:

public getQueryParameter(key: string): string {
    const parameters = new URLSearchParams(window.location.search);
    return parameters.get(key);

关闭对话框并重新加载页面的方法

  click() {
    const devCode = this.getQueryCode.getQueryParameter('d');
    this.shareDate.device.deviceId = devCode;
    window.location.reload();
}

非常感谢大家

而不是 window.location.reload(我认为这是 anti-pattern 到 angular),您可以在路由器中执行此操作并使用 [=12 保留查询字符串=]

this.router.navigate(['/'], queryParamsHandling: "preserve"});