首页 文章

第二次单击routerLink后重新加载页面

提问于
浏览
1

这个问题已经问过了 . 当我们第二次点击类似 <a routerLink="/home" routerLinkActive="active">Home</a> 的链接时,页面不会重新加载 .

Angular2 Router3 - Can't reload/refresh active route

Angular 2 reloads routerLink user clicks again

但是当角度2处于测试版时它已经解决了,并且关于这个问题存在一个角度问题 .

现在我们有角度4,我会问,提供的答案是否仍然是解决问题的最佳方法 .

1 回答

  • 5

    我好奇,自己做了一些谷歌搜索 . 我在Angular的GitHub功能请求中找到了此解决方法:

    this._router.routeReuseStrategy.shouldReuseRoute = function(){
        return false;
    };
    
    this._router.events.subscribe((evt) => {
        if (evt instanceof NavigationEnd) {
            this._router.navigated = false;
            window.scrollTo(0, 0);
        }
    });
    

    我尝试将其添加到我的 app.component.ts ngOnInit 函数中,它确实有效 . 所有进一步点击同一链接现在重新加载 component 和数据 .

    Link to original GitHub feature request

    信用在GitHub上转到 mihaicux2 .

    我在版本 4.0.0-rc.3 上用 import { Router, NavigationEnd } from '@angular/router'; 测试了这个

相关问题