Yuk*_*kun 7 angular-ui-router angular
目前,我正在尝试检测浏览器刷新事件(使用 F5),然后重新初始化页面状态一次。我只是检查了路由器事件,即如果第一个事件类型是 NavigationStart 并且事件 id 是 1,我认为用户按下了浏览器刷新 F5 按钮。
示例代码如下所示。然而,看起来很奇怪。有没有更好的方法来归档相同的目标?或任何建议?谢谢
export class AppComponent implements OnInit{
constructor(private router: Router) {
this.router.events.pairwise().subscribe((events: any[]) => {
if (events[0] instanceof NavigationStart
&& events[0].id === 1 && events[1].id === 1) {
// re-initialize page sate . . .
}
});
Run Code Online (Sandbox Code Playgroud)
}
小智 1
我尝试下面的代码来检查浏览器重新加载。
构造函数(私有路由器:路由器){
this.subscription = router.events.subscribe((event) => {
if (event instanceof NavigationStart) {
browserRefresh = !router.navigated;
}
});
Run Code Online (Sandbox Code Playgroud)
}
参考来源:https ://stackblitz.com/edit/angular-r6-detect-browser-refresh
| 归档时间: |
|
| 查看次数: |
8065 次 |
| 最近记录: |