Angular2之二级路由

来源:互联网 发布:dvd光盘刻录软件 编辑:程序博客网 时间:2024/05/29 03:01

2016年11月25日。


写了一阵子的Angular 2 现在还是觉得更喜欢Angular 1的版本。

1的版本更多的是整合,按照模块来区分,并没有做更细的划分,而2的版本中,在创建时模块组件时就已经有了很好的区分,每个模块单独管理各自的组件,在组件中也是各自管理自己的样式,效果。

在以往1的版本中,要整合路由是十分容易的,无论是一级或者二级路由都可以写在一个文件中

但是在2中则是将路由写在上层模块中,一般app为主模块,定义一个app-routing.module.ts的主路由。


基本的Angular 2 入门在前面一篇里面也有所提及

这里就从创建项目开始:

第一步:创建一个基于angular-cli的项目

ng new project-name   //项目的名称

创建完成后就是一个基本的项目框架,其中包括根模块、根组件等,在根模块中,原本所定义的路由是在其中的,但在一般的工程项目中,更多的习惯于将路由重构为模块。

详细可参考Angular 2 文档高级教程中的>路由与导航,

第二步:此时可以创建一个app-routing.module.ts 文件来放总路由,其中的redirectTo为打开项目时的路由定向。


第三步:创建一级模块,在项目中打开命令窗口,输入

ng g module my-new-module  //模块名称
假设此处我输入的为ng g module user,则会直接生成以下这些文件


此时在app.module.ts 中也会生成


第四步:创建组件

ng g component my-new-component  //组件名称
这里我创建了两个组件分别叫做usermanagement & adduser,同样生成以下文件


在user.module.ts中也会生成二级组件


第五步:书写模块中的路由配置

仍然是写在user.module.ts 中,在注入组件之后,写入二级路由forChild,此处必不可少的是path的空白链接!!不然会报user的错,相当于一个父层的定向


还有就是最后所显示的位置,一级路由就写在app.component.html中


二级路由则写在对应的父层页面上,我这里就是写在user.component.html中





基本的步骤就是这些,在长期使用Angular 1之后,一直改不过来思维,但其实Angular 2的版本更为清晰的告诉我们每个模块所管理的内容,更容易掌握。


ok

1 0