在angular2中重新加载一次页面

时间:2017-03-09 00:33:43

标签: angular typescript

我想在用户访问时以角度重新加载页面,但这会失败

这就是我试过的

在主页组件中我有

export class HomepageComponent implements OnInit {

  constructor() { }

  ngOnInit() {
    location.reload();
  }

}

页面一直在刷新而不停止如何在init上重新加载一次

3 个答案:

答案 0 :(得分:2)

这将在第一次加载页面时检查URL中的查询,并在之后立即重新加载。这只会发生一次(第一次加载页面)。

ngOnInit(){
      let win = (window as any);
      if(win.location.search !== '?loaded' ) {
          win.location.search = '?loaded';
          win.location.reload();
      }
  }

答案 1 :(得分:1)

在Angular 5上,我捕获加载的查询字符串参数,如果存在,则停止重新加载
因为Amcharts在第一次加载时没有显示,只在重新加载时显示

ngOnInit() {
    var urlParams = [];
    window.location.search.replace("?", "").split("&").forEach(function (e, i) {
        var p = e.split("=");
        urlParams[p[0]] = p[1];
    });

    // We have all the params now -> you can access it by name
    console.log(urlParams["loaded"]);

    if(urlParams["loaded"]) {}else{

        let win = (window as any);
        win.location.search = '?loaded=1';
        //win.location.reload('?loaded=1');
    }

}

答案 2 :(得分:0)

我得到了一个简单的解决方案,如下

ngOnInit() {
  if (!localStorage.getItem('foo')) { 
    localStorage.setItem('foo', 'no reload') 
    location.reload() 
  } else {
    localStorage.removeItem('foo') 
  }
}