我需要在路由到新组件后重新加载页面
我已经尝试过 location.reload() 选项,但它会不断重新加载而不停止
ngOninit(){
location.reload()
}
预期结果 :
我只需要重新加载页面一次
实际结果 :
正在重新加载很多次
原文由 Sudhin 发布,翻译遵循 CC BY-SA 4.0 许可协议
我需要在路由到新组件后重新加载页面
我已经尝试过 location.reload() 选项,但它会不断重新加载而不停止
ngOninit(){
location.reload()
}
预期结果 :
我只需要重新加载页面一次
实际结果 :
正在重新加载很多次
原文由 Sudhin 发布,翻译遵循 CC BY-SA 4.0 许可协议
您应该在变量中保存(例如)“IsLoadedBefore”布尔值并在重新加载页面之前检查它。但是一个在页面重新加载后保留数据的变量! (不是本地的)
localStorage
是一个不错的选择:
function reloadIfNecessary() {
var isLoadedBefore = localstorage.getItem("IsLoadedBefore");
if(isLoadedBefore=="true")
return;
}
else {
localstorage.setItem("IsLoadedBefore",true);
/*use your reload method*/
})
原文由 mohammad mirshojaee 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答12.7k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
6 回答811 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
我不明白你的用例,但有很多方法可以制作你想要的东西。
我向您推荐一种使用 localStorage 的方法。
检查 localStorage 是否存在。默认情况下密钥不存在,因此您创建它并重新加载页面。
刷新后,您检查相同的密钥(现在存在)。所以你下次不会重新加载页面并删除密钥