diff --git a/packages/router/src/router_module.ts b/packages/router/src/router_module.ts index b07bc88f5ae..72c6cb953c6 100644 --- a/packages/router/src/router_module.ts +++ b/packages/router/src/router_module.ts @@ -313,21 +313,22 @@ export interface ExtraOptions { * in the following example. * * ```typescript - * class AppModule { - * constructor(router: Router, viewportScroller: ViewportScroller) { - * router.events.pipe( - * filter((e: Event): e is Scroll => e instanceof Scroll) + * class AppComponent { + * movieData: any; + * + * constructor(private router: Router, private viewportScroller: ViewportScroller, + * changeDetectorRef: ChangeDetectorRef) { + * router.events.pipe(filter((event: Event): event is Scroll => event instanceof Scroll) * ).subscribe(e => { - * if (e.position) { - * // backward navigation - * viewportScroller.scrollToPosition(e.position); - * } else if (e.anchor) { - * // anchor navigation - * viewportScroller.scrollToAnchor(e.anchor); - * } else { - * // forward navigation - * viewportScroller.scrollToPosition([0, 0]); - * } + * fetch('http://example.com/movies.json').then(response => { + * this.movieData = response.json(); + * // update the template with the data before restoring scroll + * changeDetectorRef.detectChanges(); + * + * if (e.position) { + * viewportScroller.scrollToPosition(e.position); + * } + * }); * }); * } * }