Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.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
Angular 回来时记得滚动吗_Angular_Typescript - Fatal编程技术网

Angular 回来时记得滚动吗

Angular 回来时记得滚动吗,angular,typescript,Angular,Typescript,我正在与angular 4(angular)合作-router@4.4.6); 我有一个instagram,比如PostGrid和timeline,我想在从帖子回来后记住滚动点等等,。。。 我使用如下所示的CustomRouterUse策略,但它会产生不可预测的行为 谁能给我一个解决方案或替代方案? 谢谢 这不是一个很好的答案,所以很抱歉,但我在angular 4中使用ui router,当我在视图之间切换时,我的滚动位置会被记住。你可以尝试做的一件事是将你的路由器出口包装在一个可以滚动的div

我正在与angular 4(angular)合作-router@4.4.6); 我有一个instagram,比如PostGrid和timeline,我想在从帖子回来后记住滚动点等等,。。。 我使用如下所示的CustomRouterUse策略,但它会产生不可预测的行为

谁能给我一个解决方案或替代方案? 谢谢


这不是一个很好的答案,所以很抱歉,但我在angular 4中使用ui router,当我在视图之间切换时,我的滚动位置会被记住。你可以尝试做的一件事是将你的路由器出口包装在一个可以滚动的div中,然后使用outerdiv滚动,你的内部内容将始终处于你离开的相同位置,但不要与“每个”位置被单独记住混淆,它更像是一个可以记住自己滚动位置的单个全局div,因此,您可以将一个视图向内和向外交换,并且它位于底部。两个视图都位于底部。作为一种选择可能会有所帮助
private handlers: { [key: string]: DetachedRouteHandle } = {};


constructor() {

}

shouldDetach(route: ActivatedRouteSnapshot): boolean {
    return true;
}

store(route: ActivatedRouteSnapshot, handle: DetachedRouteHandle): void {
    this.handlers[route.url.join("/") || route.parent.url.join("/")] = handle;
}

shouldAttach(route: ActivatedRouteSnapshot): boolean {
    return !!this.handlers[route.url.join("/")];
}

retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle {
    return this.handlers[route.url.join("/") || route.parent.url.join("/")];
}

shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {
    return future.routeConfig === curr.routeConfig;
}