1. 设置scrollTop不完全生效
现象:设置scrollTop不完全生效(设置0可以,但是200这样就不行,会直接滑到页面最底部)。
原因:页面上的数据还没有渲染完,就执行了滑动相关代码,但此时页面上的可滑动高度根本不足200,所以就滑到了最底部。
解决办法:获取到页面数据的总条数,利用ngAfterViewChecked生命周期(页面ui发生变化时就会触发,比如每渲染一条数据/输入框输入数据),再通过js获取页面已经渲染的条数,当两者一致时,再执行滑动相关代码。
注意:
①如果页面做了分页,并且拿到的数据总量超过一页,那么只需要判断渲染完一页的数据量时,就执行相关代码。
②由于在输入框每输入一个字都会触发ngAfterViewChecked生命周期,所以还要判断当页面失焦时,才去执行滑动相关代码。
2. 获取页面上拥有某个class的所有标签
document.querySelectorAll('tr') 应用场景:如何知道页面上列表中的所有数据都渲染完毕?通过js获取标签的个数。
3. 获取页面滚动的高度
document.getElementsByClassName('main-container')[0].scrollTop。关键在于这个[0]
4.设置时间方法的返回值
setFullYear等设置时间的方法,返回值是一个时间戳