Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 返回并更改路线时保持滚动位置5_Typescript_Angular5 - Fatal编程技术网

Typescript 返回并更改路线时保持滚动位置5

Typescript 返回并更改路线时保持滚动位置5,typescript,angular5,Typescript,Angular5,我加载了一些员工的结果,并且我使用分页,每页20个结果。当我在第一个页面的最后一个页面上滚动时,我单击该页面,用户被重定向到另一个页面,当用户单击后退按钮时,他们返回搜索结果,但滚动位置已丢失。有关于如何维护它的建议吗?Angular有一些额外的选项,您可以在导入路由器模块时应用,这些选项可能适合您的要求 他们有一个特定于组件的滚动示例。我自己从来没有尝试过,但它似乎与您试图实现的目标相符。将此添加到您的app.component.ts文件中,就像wingnod所说的那样 导出类AppComp

我加载了一些员工的结果,并且我使用分页,每页20个结果。当我在第一个页面的最后一个页面上滚动时,我单击该页面,用户被重定向到另一个页面,当用户单击后退按钮时,他们返回搜索结果,但滚动位置已丢失。有关于如何维护它的建议吗?

Angular有一些额外的选项,您可以在导入路由器模块时应用,这些选项可能适合您的要求


他们有一个特定于组件的滚动示例。我自己从来没有尝试过,但它似乎与您试图实现的目标相符。

将此添加到您的
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上的问题已解决,但我认为没有解决。我使用了你的变通方法,效果很好。我希望这将在某个时候得到解决!