在angular2中重新加载页面一次
我想在用户访问页面时以angular方式重新加载一次页面,但失败了 这就是我试过的 在主页组件中,我有在angular2中重新加载页面一次,angular,typescript,Angular,Typescript,我想在用户访问页面时以angular方式重新加载一次页面,但失败了 这就是我试过的 在主页组件中,我有 export class HomepageComponent implements OnInit { constructor() { } ngOnInit() { location.reload(); } } 页面不断刷新而不停止。如何在init上仅重新加载一次?这将在页面第一次加载时检查url中的查询,并在加载后立即重新加载。这只会发生一次(第一次加载页面时) 在
export class HomepageComponent implements OnInit {
constructor() { }
ngOnInit() {
location.reload();
}
}
页面不断刷新而不停止。如何在init上仅重新加载一次?这将在页面第一次加载时检查url中的查询,并在加载后立即重新加载。这只会发生一次(第一次加载页面时)
在Angular 5上,我捕获加载的查询字符串param,如果存在,停止重新加载
因为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');
}
}
我得到一个简单的解决方案如下
ngOnInit() {
if (!localStorage.getItem('foo')) {
localStorage.setItem('foo', 'no reload')
location.reload()
} else {
localStorage.removeItem('foo')
}
}
我想知道,当他们来到组件时,为什么你需要重新加载页面?如果你只需要重新加载一次,你需要向组件传递一些东西,可以说它是否已重新加载,我猜应该使用route参数或从查询字符串中读取一些东西?因此,您可以使用一条路径来导航回页面,而不是直接的.reload()。重新加载从未发生,我使用的路径在我的路径中有,因此典型的路径如下:尝试我的更新答案。如果需要,您可以每页调整它。现在,这也会继续重新加载并将#/home?加载到urlOk,这是因为您在url路由中使用了哈希。试试我最新的答案。现在应该没事了,我还在继续装
ngOnInit() {
if (!localStorage.getItem('foo')) {
localStorage.setItem('foo', 'no reload')
location.reload()
} else {
localStorage.removeItem('foo')
}
}