Angular2之二级路由详解


Posted in Javascript onAugust 31, 2018

写了一阵子的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为打开项目时的路由定向。

Angular2之二级路由详解

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

ng g module my-new-module //模块名称

假设此处我输入的为ng g module user,则会直接生成以下这些文件

Angular2之二级路由详解

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

Angular2之二级路由详解

第四步:创建组件

ng g component my-new-component //组件名称

这里我创建了两个组件分别叫做usermanagement & adduser,同样生成以下文件

Angular2之二级路由详解

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

Angular2之二级路由详解

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

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

Angular2之二级路由详解

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

Angular2之二级路由详解

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

Angular2之二级路由详解

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

以上这篇Angular2之二级路由详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 页面执行时间计算代码
Mar 04 Javascript
JS 加入收藏夹的代码(主流浏览器通用)
May 13 Javascript
JS冒泡事件的快速解决方法
Dec 16 Javascript
JS实现一个列表中包含上移下移删除等功能
Sep 24 Javascript
jQuery实现带玻璃流光质感的手风琴特效
Nov 20 Javascript
推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
Dec 13 Javascript
Bootstrap自定义文件上传下载样式
May 26 Javascript
JavaScript中两个字符串的匹配
Jun 08 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
Nov 21 Javascript
js前端实现图片懒加载(lazyload)的两种方式
Apr 24 Javascript
使用Node.js实现一个多人游戏服务器引擎
Mar 13 Javascript
详解在Javascript中进行面向切面编程
Apr 28 Javascript
基于jQuery ztree实现表格风格的树状结构
Aug 31 #jQuery
详解Vue CLI3配置之filenameHashing使用和源码设计使用和源码设计
Aug 31 #Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
Aug 31 #Javascript
vue通过滚动行为实现从列表到详情,返回列表原位置的方法
Aug 31 #Javascript
详解小程序输入框闪烁及重影BUG解决方案
Aug 31 #Javascript
javascript闭包的使用之按钮切换功能
Aug 30 #Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
Aug 30 #Javascript
You might like
《魔兽争霸3:重制版》更新 多项视觉效果调整
2020/05/04 魔兽争霸
php使用curl发送json格式数据实例
2013/12/17 PHP
php生成RSS订阅的方法
2015/02/13 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
laravel5.2实现区分前后台用户登录的方法
2017/01/11 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
jQuery 获取对象 定位子对象
2010/05/31 Javascript
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
javascript jq 弹出层实例
2013/08/25 Javascript
清除div下面的所有标签的方法
2014/02/17 Javascript
jQuery+ajax实现鼠标单击修改内容的思路
2014/06/29 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
jquery操作select元素和option的实例代码
2016/02/03 Javascript
解决node.js安装包失败的几种方法
2016/09/02 Javascript
关于TypeScript中import JSON的正确姿势详解
2017/07/25 Javascript
vue中各选项及钩子函数执行顺序详解
2018/08/25 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
2019/07/29 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
2020/11/10 Javascript
vue.js+element 默认提示中英文操作
2020/11/11 Javascript
python中字符串前面加r的作用
2015/06/04 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
Python如何对齐字符串
2020/07/30 Python
Flask处理Web表单的实现方法
2021/01/31 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
Linux如何压缩可执行文件
2014/03/27 面试题
社区好人好事材料
2014/12/26 职场文书
职代会闭幕词
2015/01/28 职场文书
2015年煤矿安全工作总结
2015/05/23 职场文书
七年级语文教学反思
2016/03/03 职场文书
Django操作cookie的实现
2021/05/26 Python
苹果的回收机器人可以通过拆解iPhone获取大量的金和铜并外公布了环境保护最新进展
2022/04/21 数码科技
MySql数据库触发器使用教程
2022/06/01 MySQL
vue如何在data中引入图片的正确路径
2022/06/05 Vue.js
向Spring IOC 容器动态注册bean实现方式
2022/07/15 Java/Android