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"});
我正在创建一个小型预订应用程序,您无需在其中注册。 我创建了一个方法来获取查询字符串参数,并在启动时 (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"});