一、获取路由参数:
通过订阅注入的ActivatedRoute对象的
queryParamMap属性可获取:
可选的查询参数(?、&分隔)
paramMap属性可获取:
必选的路由参数(/分隔,并且必须在路由模块中配置,url必须严格匹配此种形式参数)或可选的矩阵参数(;分隔)
二、路由策略:
一个Angular应用的AppComponent为入口组件,不论访问任何路径该组件都将被激活,访问的行为仿佛是在访问预期的路径前先访问根路径“/”。
我在AppComponent处手动写了一个OnInit方法(官方未默认生成它)并订阅了一个queryMap,本来期望能获取并打印访问根路径携带的参数,然而看到控制台先打印了一个null然后才打印我携带的参数,这说明真正预期访问输入路径前应用自己访问了一次根路径。
我想官方在自动构建脚手架时不像一般组件一样默认生成一个OnInit方法就是因为Angular应用的这个路由机制导致若在此处处理与路由相关的逻辑可能会引发非预期的行为。
网友评论