0
点赞
收藏
分享

微信扫一扫

angular6 相同页面跳转参数不同 页面不刷新问题解决

蒸熟的土豆 2021-09-29 阅读 84
日记本

最近做前端配置化查询页面时,多个查询配置为相同路由对应的同一个页面,只是参数不同,相同页面跳转时,出现了页面不刷新问题。

尝试着在对应位置使用  this.ref.markForCheck(); this.ref.detectChanges(); 也必须滚动滚动条才能驱动页面更新。。调试发现,页面刷新了,有些原始数据已经渲染上去,但ngOnInit()函数没有执行,想着在constructor里面手动触发ngOnInit,但是除此进入时会执行两次ngOnInit。不妥。

之前跳转用的router.navigate,

this.router.navigate([btn.linkUrl], {

        queryParams: queryParams

  });

最后找到了个好方法,在点击跳转方法里,使用router.navigateByUrl

this.router.navigateByUrl('', {skipLocationChange:true}).then(() => {

    this.router.navigate([btn.linkUrl], {

            queryParams: queryParams

    });

});

完美了解决了问题。。

来研究一下navigate和navigateByUrl的区别吧,我先下班,后续再补。

举报

相关推荐

0 条评论