如何强制导航到' / splash'页面刷新路由?
如果我发现自己在' /发现'并刷新它将保留在那里的页面,但是我更喜欢应用程序从头开始(/ splash)。
router.navigate
我试图在我的父AppComponent的OnInit
&内进行OnDestroy
次呼叫。 ngOnInit( ) : void {
this.router.navigate(['splash']);
}
方法,但它似乎被忽略了。
OnDestroy
我还试图将导航调用放在路由器本身的using System.IO;
方法中。
答案 0 :(得分:2)
您可以通过订阅AppComponent
构造函数中路由器的第一个导航事件来完成此操作:
import 'rxjs/add/operator/filter';
import { Router, NavigationStart } from '@angular/router';
export class AppComponent {
private subscription: any;
constructor(private router: Router) {
this.subscription = this.router.events
.filter(e => e instanceof NavigationStart && e.id === 1)
.subscribe(e => {
this.redirectToSplash();
});
}
private redirectToSplash() {
this.router.navigate(["splash"]);
this.subscription.unsubscribe();
}
}