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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了angular6 相同页面跳转参数不同 页面不刷新问题解决相关的知识,希望对你有一定的参考价值。

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

尝试着在对应位置使用  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的区别吧,我先下班,后续再补。

以上是关于angular6 相同页面跳转参数不同 页面不刷新问题解决的主要内容,如果未能解决你的问题,请参考以下文章

react多个路由共用同一个组件模块,切换路由跳转页面不刷新问题

Vue用router.push(传参)跳转页面,参数改变,跳转页面数据不刷新的解决办法

react native 路由跳转后页面不刷新问题

Vue 路由跳转传递参数,子组件页面刷新后数据不丢失

路由跳转但不需要页面刷新

angular路由与a链接跳转有什么不同?