Typescript 返回并更改路线时保持滚动位置5
我加载了一些员工的结果,并且我使用分页,每页20个结果。当我在第一个页面的最后一个页面上滚动时,我单击该页面,用户被重定向到另一个页面,当用户单击后退按钮时,他们返回搜索结果,但滚动位置已丢失。有关于如何维护它的建议吗?Angular有一些额外的选项,您可以在导入路由器模块时应用,这些选项可能适合您的要求Typescript 返回并更改路线时保持滚动位置5,typescript,angular5,Typescript,Angular5,我加载了一些员工的结果,并且我使用分页,每页20个结果。当我在第一个页面的最后一个页面上滚动时,我单击该页面,用户被重定向到另一个页面,当用户单击后退按钮时,他们返回搜索结果,但滚动位置已丢失。有关于如何维护它的建议吗?Angular有一些额外的选项,您可以在导入路由器模块时应用,这些选项可能适合您的要求 他们有一个特定于组件的滚动示例。我自己从来没有尝试过,但它似乎与您试图实现的目标相符。将此添加到您的app.component.ts文件中,就像wingnod所说的那样 导出类AppComp
他们有一个特定于组件的滚动示例。我自己从来没有尝试过,但它似乎与您试图实现的目标相符。将此添加到您的
app.component.ts
文件中,就像wingnod所说的那样
导出类AppComponent{
构造函数(路由器:路由器,viewportScroller:viewportScroller){
路由器.事件.管道(
过滤器((e:Event):e是滚动=>e滚动实例)
).订阅(e=>{
如果(如位置){
//向后导航
viewportScroller.scrollToPosition(即位置);
}否则,如果(如锚定){
//锚导航
viewportScroller.scrollToAnchor(例如anchor);
}否则{
//前向导航
viewportScroller.scrollToPosition([0,0]);
}
});
}
}
此行为的原因是页面尚未呈现且scrollToPosition无效。
有没有一个好的黑客超时,但它的工作
注
Angular实际上有一个关于这个问题的问题ohmy这是我的问题,但我的问题发生在子组件中,因此我不能使用滚动位置恢复功能Angular repo上的问题已解决,但我认为没有解决。我使用了你的变通方法,效果很好。我希望这将在某个时候得到解决!