发表于: 2020-08-26 21:41:31

0 2140



一,今天完成的事情

路由守卫的意义与用途:

  • 该用户可能无权导航到目标组件。

  • 可能用户得先登录(认证)。

  • 在显示目标组件前,你可能得先获取某些数据。

  • 在离开组件前,你可能要先保存修改。

  • 你可能要询问用户:你是否要放弃本次更改,而不用保存它们?

你可以往路由配置中添加守卫,来处理这些场景。

守卫返回一个值,以控制路由器的行为:

  • 如果它返回 true,导航过程会继续

  • 如果它返回 false,导航过程就会终止,且用户留在原地。

  • 如果它返回 UrlTree,则取消当前的导航,并且开始导航到返回的这个 UrlTree.

路由器可以支持多种守卫接口:

  • CanActivate来处理导航某路由的情况。

  • CanActivateChild来处理导航某子路由的情况。

  • CanDeactivate来处理从当前路由离开的情况.

  • Resolve在路由激活之前获取路由数据。

  • CanLoad来处理异步导航到某特性模块的情况。

管理特性区的文件是这样的:

src/app/admin

admin
admin.component.css
admin.component.html
admin.component.ts
admin-dashboard
admin-dashboard.component.css
admin-dashboard.component.html
admin-dashboard.component.ts
manage-crises
manage-crises.component.css
manage-crises.component.html
manage-crises.component.ts
manage-heroes
manage-heroes.component.css
manage-heroes.component.html
manage-heroes.component.ts
admin.module.ts

admin-routing.module.ts


把 AdminModule 导入到 app.module.ts 中,并把它加入 imports 数组中来注册这些管理类路由

Resolve: 预先获取组件数据

注意以下三个要点:

  1. 路由器的这个 Resolve 接口是可选的。CrisisDetailResolverService 没有继承自某个基类。

  2. 路由器只要找到了这个方法,就会调用它。

  3. 路由器会在用户可以导航的任何情况下调用该解析器,这样你就不用针对每个用例都编写代码了。

  4. 在任何一个解析器中返回空的 Observable 就会取消导航


  5. 二,.input和label联合使用

    通过为input设置属性id,在label标签中设置for=id使label文本与对应的inpu他结合起来。

    label标签包裹input标签,点击label时,label两次响应,即label本身触发和input触发后

    冒泡到label上。(由于事件冒泡机制的存在,父节点所绑定的点击事件会被触发两次。)

    label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在

    label元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会

    自动将焦点转到和标签相关的表单控件上。


  6. .定位中的relative的使用场景

    relative相对于自身进行定位,不脱离文档流也不脱离文本流

    float脱离文档流但是不脱离文本流,所以会出现float将非定位盒子覆盖掉,

    但是不会覆盖非定位盒子里面的文本,这样会出现文本环绕的效果。而对于

    absolute元素会把非定位和自身位置和开面的文本都覆盖掉

    relative一般使用设置给absolute的父层,这样absolute会依照absolute

    父层的边界进行定位---也就是说给absolute元素提供定位基准

    relative不会影响页面其他的布局,因为他相对自身移动时候仍然会保留自身

    原始的位置,只是视觉上的偏移,原来的DOM仍然存在

    relative会对overflow有限制作用

    relative会对z-index有限制作用,,设置了定位元素的z-index值为数值可以

    创建”层叠上下文”relative的top/bottom同时使用只有top生效,

    left/right同时使用只有left生效




返回列表 返回列表
评论

    分享到