Angular2 - 具有登录结构的路由器出口

2024-01-03

我正在构建 angular2 应用程序,目前我有一个带有导航栏、工具栏和路由器出口的主组件用于主要内容。 我想为登录机制添加一个额外的页面,因此,如果用户未经过身份验证,登录页面将显示在整个屏幕上,用户登录后将导航到具有上述结构的组件。

我该如何管理这个结构?我需要两个路由器插座吗?第一个用于登录和主页之间的导航,另一个用于主页中的主要内容? 还有其他比两个路由器插座更简单的常见结构吗?


我通过实现这个结构成功地实现了这个工作流程。 我有两个主要组成部分:

LoginComponent 的路由是“/login”。 它的路由是“HomeComponent”。 (空路线)。

此外,我为 HomeComponent 设置了一个防护,它检查用户是否在 canActivate 中通过了身份验证。如果没有,我会将用户导航到“/login”路线。

然后在我的主页组件中,我有具有以下结构的模板: 工具栏、侧面菜单和路由器插座。

我要做的最后一件事是将其他应用程序路由配置为我的 HomeComponent 的子路由。 (例如:“/news”是“”的子路由)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angular2 - 具有登录结构的路由器出口 的相关文章

随机推荐

  • org.hibernate.exception.ConstraintViolationException:无法执行语句

    所以情况是这样的 我正在使用 struts2 和 hibernate 创建一个 web 应用程序 我正在创建一个更改密码页面 用户可以通过该页面更改其密码 但我收到错误为 org hibernate exception Constraint
  • 从 Linux 命令行为视频添加水印

    有谁知道如何使用简单的工具从 Linux 命令行为视频添加水印 当前版本不支持 ffmpeg 中的水印 需要自定义编译 Max ffmpeg y i inputFile mpg vhook usr lib vhook watermark s
  • 点选择器 event_handler 在 matplotlib 中绘制线并显示坐标

    我有下面的类 它通过 y 轴绘制一条垂直线 这样当我单击它时 就会在该位置绘制一条水平线 我的目标是让 y 坐标实际打印在绘制水平线的 y 轴上 为了进行测试 我尝试使用 y 坐标打印标题 但它没有按预期工作 我真正想要完成的是使条形图上的
  • 循环遍历 $_POST 变量

    抱歉 我找不到这个问题的合适标题 我使用 for 循环生成了以下内容 并使用以下模式连接了提交按钮的名称 提交 编辑 类别 1 提交 编辑 类别 2 提交 编辑 类别 3 echo
  • 在 Python 中从设备名称映射到挂载点的可靠且“尽可能便携”的方式

    我希望能够获取设备名称 例如 dev disk2 并确定其安装位置 如果有 例如 mnt cdrom or Volumes RANDLABEL 在Python中 我可以做到这一点的一种方法是运行df or mount然后解析输出 但这看起来
  • 如何在 JavaScript 中模拟按键? [复制]

    这个问题在这里已经有答案了 我正在尝试找到一种模拟按键的方法 例如 当功能启动时 应按下 向下箭头 键 因此网页应稍微滚动 我只对 Chrome 感兴趣 jQuery 或纯 JS 都合适 纯 JS 会更可取 这是我尝试过的代码示例之一 va
  • 使用 find 排除子目录

    我有这样的目录结构 data abc incoming def incoming processed 123 incoming 456 incoming processed Data 目录内的所有文件夹中都有一个传入子文件夹 我想获取除 d
  • 将作品放入 Postman 但不放入 AXIOS

    这是我的 MERN 应用程序中最奇怪的事情 当我从 Postman 向我的 api 执行 PUT 时 它会工作并更新我的 api 和 mongoDB 在前端 即使控制台日志显示正确的值并且 url 相同 它也不会更新 api 任何帮助或指导
  • 是否有固定大小分配器的优雅 C++ 实现?

    我认为如果必须包含的头文件数量尽可能少 C 库就是 优雅的 我知道已经存在固定大小的分配器 例如Loki SmallObjectAllocator and boost pool 虽然两者都很优秀 但我认为它们不够优雅 也不容易无缝集成到项目
  • 我应该如何使用 pandas 处理时间序列数据中的重复时间?

    我从 API 调用返回以下内容作为更大数据集的一部分 时间 datetime datetime 2017 5 21 18 18 1 tzinfo tzutc 价格 0 052600 时间 datetime datetime 2017 5 2
  • T-SQL 如何匹配多行

    有两个表 包装表和产品表 就我而言 包装中包含多种产品 我们需要识别多个产品是否可以与包裹记录中已有的包裹匹配 一些脚本如下 DECLARE tblPackage TABLE PackageID int ProductID int INSE
  • Mailgun Laravel 发送电子邮件错误 客户端错误消息

    在 Laravel 5 1 上设置 mailgun 后 我确实收到错误消息 客户端错误响应 url https api mailgun net v3 messages mime https api mailgun net v3 messag
  • 如何在脚本化 ssh 命令中使用简单引号和双引号

    我正在编写一个小型 bash 脚本 并希望通过 ssh 执行以下命令 sudo i mysql uroot pPASSWORD execute select user host password last changed from mysq
  • ICU 资源包是否用于消息翻译资源

    我了解 ICU 的本地化部分 日期 时间和货币格式 排序规则等 当谈到消息翻译时 我看到人们说 ICU 不提供消息翻译功能 例如检查这个 SOF 问题 https stackoverflow com questions 5644412 ph
  • 工作单元模式的实现

    我首先使用 ASP NET MVC 和实体框架代码创建一个应用程序 我正在使用存储库和工作单元模式 并受到以下链接的影响 http www asp net mvc tutorials getting started with ef 5 us
  • Intellij 在新块中添加额外的行

    当我在 Intellij 中编写代码时 我经常通过键入以下类型的序列来创建新块 if test 键入左大括号会导致 Intellij 自动插入右大括号并将光标移动到两个大括号之间 if test 此时 我只需按 Enter 即可获得一个格式
  • 谷歌地图打开时的信息窗口事件

    您好 我正在使用谷歌融合表和谷歌地图 问题是我的标记显示正确 但我想在信息窗口中插入一些图像 所以问题是我进行查询来查找这些标记的位置 并且这些标记可以有许多类别 这就是为什么我无法使用合并表 当用户单击标记时 信息窗口将显示并显示标记上的
  • Java URL:未知协议“C”

    我知道有similar对这个问题的提问 比如this https stackoverflow com questions 7243550 unknown protocol c jdom a saxbuilder一 但是 在读完 类似标题的问
  • Facebook 如何禁用浏览器的集成开发人员工具?

    显然 由于最近的诈骗 开发人员工具被人们利用来发布垃圾邮件 甚至用于 破解 帐户 Facebook 屏蔽了开发者工具 我什至无法使用控制台 他们是怎么做到的 Stack Overflow 上的一篇帖子声称这是不可能的 https stack
  • Angular2 - 具有登录结构的路由器出口

    我正在构建 angular2 应用程序 目前我有一个带有导航栏 工具栏和路由器出口的主组件用于主要内容 我想为登录机制添加一个额外的页面 因此 如果用户未经过身份验证 登录页面将显示在整个屏幕上 用户登录后将导航到具有上述结构的组件 我该如