保留Angular Router查询参数有什么影响?

时间:2018-05-08 13:14:53

标签: javascript angular typescript angular-router

使用Angular的每this article,可以像这样保存查询参数:

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

我正在寻找一个实际的例子,说明我们为什么要这样做?

2 个答案:

答案 0 :(得分:1)

如果你研究queryParamsHandling的定义(那里给出的不多),那就是处理下一个导航。

实际的例子是,如果你想让你的应用程序无状态。因此,它将帮助您保持维护在网页上所做的选择。例如,在购物或旅行网站上,他们会存储在查询参数中选择的选项,因为即使网站停止运行,或者您重新加载页面,选择的选项仍然存在。

第二种方式更容易添加书签,因此当您使用给定的选项为页面添加书签时,您可以在下次轻松打开它,甚至可以将此链接转发给任何人,而无需指定您为结果选择的选项。

对于客户端应用程序,它是在给定的网页浏览中存储状态的好方法,当您在浏览器历史记录中向前或向后移动时,您的选择将保持不变。每次他们不必更新他们的选择时,对用户都有帮助。

答案 1 :(得分:0)

我正在使用它来保存lang queryparam。

根据Google的指南,一个网址必须与特定内容匹配。因此,不建议将语言存储在localStorage中。