【发布时间】:2017-01-16 16:42:06
【问题描述】:
我有一个 angular2 应用程序 (RC5),其中有一个 章节 组件。这基本上有一个大模板文件 - chapter.html - 有这个:
<div *ngIf="chapter == 1">
<!-- Chapter 1 content -->
</div>
<div *ngIf="chapter == 2">
<!-- Chapter 2 content -->
</div>
<!-- etc. -->
然后我有一些箭头按钮用于下一章和上一章。这些触发事件,例如
if (this.chapter !== '6') {
var next = parseInt(this.chapter) + 1;
console.log(next);
let link = ['/tutorial/chapter', next];
this.router.navigate(link);
}
所以一切正常,但是,按钮位于一章的底部,因此当单击它们时,会显示下一章,但会自动向下滚动。所以在路由器点击时,我想触发一个事件并滚动到页面顶部,但是,当我导航到同一个组件时,ngOnInit() 没有被触发。
我该怎么做?
【问题讨论】:
-
window.scrollTop=0;向上滚动? -
@epascarello 是的,但我想要一个事件来执行它,它在组件导航后触发
-
那么听听章节何时更新或router.subscribe?
标签: javascript angular typescript angular2-routing