发表于: 2019-10-05 23:41:12

0 908


今日完成的事

学习了angular中路由的各种事件

url

路由路径的 Observable 对象,是一个由路由路径中的各个部分组成的字符串数组。

data

一个 Observable,其中包含提供给路由的 data 对象。也包含由解析守卫(resolve guard)解析而来的值。

paramMap

一个 Observable,其中包含一个由当前路由的必要参数和可选参数组成的map对象。用这个 map 可以获取来自同名参数的单一值或多重值。

queryParamMap

一个 Observable,其中包含一个对所有路由都有效的查询参数组成的map对象。 用这个 map 可以获取来自查询参数的单一值或多重值。

fragment

一个适用于所有路由的 URL 的 fragment(片段)的 Observable

outlet

要把该路由渲染到的 RouterOutlet 的名字。对于无名路由,它的路由名是 primary,而不是空串。

routeConfig

用于该路由的路由配置信息,其中包含原始路径。

parent

当该路由是一个子路由时,表示该路由的父级 ActivatedRoute

firstChild

包含该路由的子路由列表中的第一个 ActivatedRoute

children

包含当前路由下所有已激活的子路由

有两个旧式属性仍然是有效的,但它们不如其替代品那样强力,建议不再用它们,它们还将在未来的 Angular 版本中废弃。

params —— 一个 Observable 对象,其中包含当前路由的必要参数和可选参数。请改用 paramMap

queryParams —— 一个 Observable 对象,其中包含对所有路由都有效的查询参数。请改用queryParamMap

路由事件

在每次导航中,Router 都会通过 Router.events 属性发布一些导航事件。这些事件的范围涵盖了从开始导航到结束导航之间的很多时间点。下表中列出了全部导航事件:

路由器事件

说明

NavigationStart

事件会在导航开始时触发。

RouteConfigLoadStart

事件会在 Router 惰性加载 某个路由配置之前触发。

RouteConfigLoadEnd

事件会在惰性加载了某个路由后触发。

RoutesRecognized

事件会在路由器解析完 URL,并识别出了相应的路由时触发

GuardsCheckStart

事件会在路由器开始 Guard 阶段之前触发。

ChildActivationStart

事件会在路由器开始激活路由的子路由时触发。

ActivationStart

事件会在路由器开始激活某个路由时触发。

GuardsCheckEnd

事件会在路由器成功完成了 Guard 阶段时触发。

ResolveStart

事件会在 Router 开始解析(Resolve)阶段时触发。

ResolveEnd

事件会在路由器成功完成了路由的解析(Resolve)阶段时触发。

ChildActivationEnd

事件会在路由器激活了路由的子路由时触发。

ActivationEnd

事件会在路由器激活了某个路由时触发。

NavigationEnd

事件会在导航成功结束之后触发。

NavigationCancel

事件会在导航被取消之后触发。 这可能是因为在导航期间某个路由守卫返回了false

NavigationError

这个事件会在导航由于意料之外的错误而失败时触发。

Scroll

事件代表一个滚动事件。

当启用了 enableTracing 选项时,这些事件也同时会记录到控制台中。要想查看对路由导航事件进行过滤的例子,请访问 Angular 中的可观察对象一章的路由器部分

总结一下

该应用有一个配置过的路由器。 外壳组件中有一个 RouterOutlet,它能显示路由器所生成的视图。 它还有一些RouterLink,用户可以点击它们,来通过路由器进行导航。

明天计划的事

继续写任务6-10

遇到的困难

对angular的路由还有很多的不明白之处。

收获

对angular更熟悉了


返回列表 返回列表
评论

    分享到