一、解决ng切换路由不刷新页面问题。
遇到这个问题,第一想到的就是vue的keep-alive,说实话还是vue香。ng默认都会缓存路由,这就导致路由切换不刷新。带来的问题就是,比如我看了第一篇文字,往下滚动了,返回主页面,再进入这篇文章结果还在滚动位置,数据也不会刷新。这明显有问题的。需求是需要刷新这个组件。
解决办法:只需要每次进入的路由不一致就可以使得组件刷新。最简单的方法就是在路由后面加上newDate(),你永远无法踏入同一条河流。这样路由永远都不会相同。www.baidu.com?ref='new Date()';这种类型。
二、多用flex布局,不要限制宽高。
可能对很多前端工程师来说这是常识,对我来说最近才清楚这一点,之前挺抵触flex的,感觉有啥好用的,这辈子不可能用。结果。。。真香。不去限制宽高,少用margin,多用padding,保证页面的整体性。这样的页面鲁棒性才高。
三、getBoundingClientRect()真香
获取实体后document.getElementxxxxxxx.getBoundingClientRect()。这个方法直接获取元素的几乎所有定位属性。自己的宽高,距离浏览器的上下左右距离,具体可以百度一下。这个做定位非常方便,最近项目用的d3,画SVG需要给定宽高之类的,有了这个就非常之方便了。