我有几个组件,包括同位素组件。 此组件受到保护,除非用户已登录,否则不应访问该组件。但如果我键入任何路径,如
http://localhost:4200/register
然后我输入
http://localhost:4200/isotopes 不应该显示同位素页面,而是闪烁没有任何数据的html,只有组件的模板并立即重定向到登录。 我不想在重定向发生时显示任何内容。 以下是同位素组分的一些代码。 我不知道要显示什么代码,因为我不知道问题在哪里
export class IsotopesComponent implements OnInit {
theisotopes: IsotopesComponent[];
selectedIsotope: IsotopesComponent;
constructor( private isotopesService: IsotopesService,
private authService: AuthService,
private routetheuser: Router) { }
ngOnInit() {
this.getIsotopes();
}
getIsotopes() { this.isotopesService.getIsotopes()
.then((isotopes ) => {
this.theisotopes = isotopes;
//console.log(this.theisotopes)
})
.catch((err) => {
this.routetheuser.navigate(['/login']);
});
}// getIsotopes
}// class
答案 0 :(得分:0)
模板闪烁的原因(在我看来)该路线需要一名警卫。一旦我开始使用canActivate
作为该路由,它首先检查用户是否经过身份验证,并且可以激活或使用该路由。如果为false,则永远不会呈现组件。