场景:使用Angular 5的asp.net core 2.0 SPA模板

我有一个父路由填充一个页面,其内容相当于大多数监视器的1/2和2/3之间 . 此内容的底部用于在父级的子路由之间导航,包括空路径 . 到目前为止我没有做到的是找到一种方法将这个子路由器插座(或其内容)滚动到导航被激活时的位置,以防止用户向下滚动以查看较小的孩子的所有内容屏幕 . 我已经确定尝试订阅子组件中的路由器事件既不起作用也不是最好的方法,因为你不能保证它总是被用作子组件所以我使用以下方法订阅了父组件中的路由器事件:

this.subEvents = this.router.events.subscribe(e => {
  // detetermine if we have activated a child route
});

我似乎无法弄清楚以下内容:

  • 如何确定子路由是否已安全激活(如果可以避免,则不匹配特定URL)

  • 然后能够滚动查看子组件,使其跳转到页面顶部 .