从需求场景说起:
组件A -> 组件B
组件A提供一个供用户点击的链接,写在HTML里的[routerlink],并指定要路由到哪一个组件
这就要求路由模块中需要事先配置好path和component的关系
由router在controller中处理相关逻辑,实现navigate或navigateByUrl
如果需要导航到id=1的某个组件,可以使用ActivatedRoute来获取路由中携带的变量
在controller中???
前置概念:
SPA,Single Page Application
----
基础知识:
重定向路由:
需求:浏览器访问空url时会自动跳转到首页
{path:'', redirectTo:'/stock', pathMatch:'full'}
子路由:
需求:一个组件的两个子组件,可以单独显示
child嵌套????
辅助路由:
需求:显示在所有页面上的网页边栏,比如在线咨询;出现或消失不影响其他组件
<router-outlet name="aux"></router-outlet>
在配置path的时候要写上outlet = "aux"
带参数的路由:
需求:路由到id=1的用户
/stock?id=1 => queryParams['id']
=> params['id']
=> data[0]['id']
ActivatedRoute是一个类,需要实例化后使用params, .queryParams等属性进行路由导航
路由守卫:
CanActivated:接口,实现该方法;返回布尔值,判断是否允许路由到目标组件;
CanDeactivated:接口,实现该方法;
Resolve:没看懂。。。
-----
高级知识:
Router获取event