Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 基于角2保护的开关布局元件_Angular_Typescript_Angular2 Routing_Angular2 Components_Angular2 Guards - Fatal编程技术网

Angular 基于角2保护的开关布局元件

Angular 基于角2保护的开关布局元件,angular,typescript,angular2-routing,angular2-components,angular2-guards,Angular,Typescript,Angular2 Routing,Angular2 Components,Angular2 Guards,所以这可能是一篇很长的帖子,但我希望有人能帮我:) 我正在构建一个基于Angular 2 web的应用程序,具有“拆分”布局,这意味着我将使用一个单独的布局组件,这取决于我是否通过route guard进行了身份验证 当我第一次进入应用程序并且没有来自服务器的活动会话或cookie时,我将被重定向到登录页面,但前提是该页面通过路由保护受到保护。此登录页面将被置于“公共”视图中,其中不包含、或标记 这样做的目的是能够加载一个HTML布局 对于需要用户登录的视图组件,使用,当用户试图访问“专用”路由

所以这可能是一篇很长的帖子,但我希望有人能帮我:)

我正在构建一个基于Angular 2 web的应用程序,具有“拆分”布局,这意味着我将使用一个单独的布局组件,这取决于我是否通过route guard进行了身份验证

当我第一次进入应用程序并且没有来自服务器的活动会话或cookie时,我将被重定向到登录页面,但前提是该页面通过路由保护受到保护。此登录页面将被置于“公共”视图中,其中不包含
标记

这样做的目的是能够加载一个HTML布局 对于需要用户登录的视图组件,使用
,当用户试图访问“专用”路由时,在另一个视图组件中使用另一个

Inside index.html

正在加载应用程序。。。

有没有什么方法可以把这个游戏的基本部分组合起来,让我们试一试?添加canActivateChildren怎么样?@DeborahK我很难创建一个这样的plunker示例。为了让它以同样的方式工作,需要把这么多的部件组合在一起。。。我可以试试,但可能需要一段时间。@yoonjesung您是否可以给我一个如何将其应用于此解决方案的示例?@krilllind它与canActivate:[LoginGuard]相同,只是您使用了canActivateChild:[LoginGuard]。canActivate的工作方式是“自上而下”,而canActivateChild的工作方式是“自下而上”。下面是另一篇关于canActivate vs.canActivateChild主题的帖子,有一些答案: