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