Angular向后导航而无需重新加载页面

时间:2018-09-21 14:27:20

标签: angular angular5

我有一个页面,用户可以在该页面上应用一些过滤器(通过表单),然后用户可以选择过滤的元素之一并转到详细信息页面。

如果用户在详细信息页面上单击回来,将被重定向到过滤器页面。在不保留过滤器数据的情况下重新加载了过滤器页面。

我将history.back()函数用于后退动作。

我想知道是否有一种方法可以导航到页面而无需重新加载该页面,而不会显示用户单击详细信息链接之前显示的确切页面。

3 个答案:

答案 0 :(得分:4)

问题是,您的筛选器页面组件在导航时被破坏,因此组件状态将丢失。您可以通过服务器选项来维护过滤器状态。

我建议您要么使用localStorage API将状态以串行方式保存到浏览器,然后在fiter-page init上将其取回,要么将过滤器的状态保存到服务中并从那里请求状态。 / p>

这是localStorage的一个非常基本的示例。 (不确定代码是否完全有效,但是您应该知道这个主意。)

toString()

答案 1 :(得分:0)

从一条路线导航到另一条路线将始终破坏当前组件并重新加载下一个组件。在这种情况下,只能通过ngIf从当前组件渲染详细信息页面。我的意思是根据搜索显示和隐藏两个模板。您无需更改路线,但这不是首选解决方案。

但是我希望将数据保存在通用服务中并使用路由策略。

答案 2 :(得分:0)