我在角度路由器的NavigationEnd
事件中有一名观察员。在大多数情况下,对于大多数页面过渡,但不是全部,我想将滚动条放在视口顶部。
我有此代码:
this.router.events.filter(event => event instanceof NavigationEnd).subscribe((value: NavigationEnd) => {
// TODO: really, really, ugly hack
// very open to a better way
if (/alert=([^&]*)/.test(value.url)) {
return;
}
window.scrollTo(0, 0);
});
我想基于路径和查询字符串值排除某些URL,或者是否可以通过某种方式让路由器在此事件处理程序中知道我不想滚动到顶部。
正在寻找比我的黑客更好的东西。