作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 angular2 应用程序 (RC5),其中有一个 chapter 组件。这基本上有一个很大的模板文件 - 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()
没有被触发。
我该怎么做?
最佳答案
如果您导航到同一个组件,至少有一个参数发生了变化,否则路由器不会重新导航。
您可以订阅参数更改并在更改时调用滚动
constructor(private route:ActivatedRoute) {
this.route.params.forEach(p => this.doScroll());
}
关于javascript - 如何在组件导航到时触发事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39396180/
所以我有一个在 Heroku 中运行的 Java 应用程序,它总是在监听某些内容。它不应该被 ping 到,但如果被 ping 到,它会返回一个 H20 错误,因为该过程永远不会结束。我怎样才能防止这
我是一名优秀的程序员,十分优秀!