如果用户访问我的网站的基本URL时已经在平台上登录(我使用cookie进行检查),我将尝试将其重定向到特定路由。 预期的行为是这样:
www.example.com
。www.example.com/my-account
。www.example.com
。我尝试通过以下代码使用CanActivate:
canActivate() {
this.authService.checkStatus()
.subscribe(
resp => {
this.allowed = resp['isValid'];
},
error => {
this.allowed = false;
}
);
if(this.allowed) {
this.router.navigate(['/my-account']);
return true;
}
return false;
}
问题在于,如果用户未登录,由于该组件不会加载,它将显示白页。
关于如何实现此目标的任何想法?
谢谢。
答案 0 :(得分:0)
这不只是建议的答案
基本上,它基于您应用的范围。如果您的应用范围较小,则只需在应用启动时加载所有数据即可。如果范围很大,则进行延迟加载。
问题是您已加载了用户首先使用的所有组件的基本信息。
E.x:<ItemsControl ItemsSource="{Binding CellRange}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<usercontrol:CellButton Number="{Binding}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>