相同路由间的页面跳转,页面不刷新的问题
例:
切换单位之后路由仍为/home
,但不同组织的首页配置不同(包括banner,公告等等),如果直接跳转/home的话,页面不会进行刷新而且参数(id)也不会发生任何变化;
方法一:
this.router.navigate(['home',{id:value}]); //后面带个参数,页面就会刷新
此时,页面刷新了,有些原始数据已经渲染上去,但是请注意ngOnInit()
函数没有执行,所以此刻的数据获取及处理应该在constructor()
函数里
例:
课程详情里相关课程跳转,如果用routerLink的话,页面不会刷新,因此采用以下几种方法:
方法二:
<a [href]="'/course/detail/'+item?.id"></a> //用a标记跳转
方法三:
link(){ //用click事件,这样还能在函数里做一些别的处理
window.open(`/course/detail/${id}`,'_self')
}