Angular2学习笔记——在子组件中拿到路由参数

  工作中碰到的问题,特此记录一下。

  Angular2中允许我们以`path\:id\childPath`的形式来定义路由,比如:

export const appRoutes: RouterConfig = [{path: 'app/:id', component: AppComponent,children: [{ path: 'share', component: AppShareComponent },{ path: 'issue', component: AppIssueComponent },{ path: 'version', component: AppVersionComponent },{ path: 'usage', component: AppUsageComponent },{ path: 'notification', component: AppNotificationComponent },{ path: 'resource', component: AppResourceComponent },{ path: 'comment', component: AppCommentComponent },{ path: 'activity', component: AppActivityComponent },{ path: 'retire', component: AppRetireComponent },{ path: '', component: AppComponent }]
}];

  如果是在AppComponent中,很容易使用`ActivatedRoute`拿到当前路由获取参数:

ngOnInit() {this.route.params.subscribe((params) => {this.createPies();this.onTopListFilterChange(params['id']);});};

  但如果是在`children`中指定的component要拿到路由参数就没那么容易了,这时候再使用ActivatedRoute根本拿不到参数,我猜应当是在Angular2中一个ActivatedRoute对应一级路由配置,所以我们需要找到父级路由,由父级路由去拿参数。这时我们需要借用Router类的routeState属性的parent方法:

this.router.routeState.parent(this.activatedRoute).params.subscribe(params => {this.getDetailsById(params['id']);
})

  至此问题解决!

  Angular2给我的感觉是大框架很清晰,细节太琐碎,使用后端开发思维来做前端,过于冗余。目前对Angular2了解并不深入,无法给出详细解释,待我深入了解后,再写一篇关于路由的文章奉献给大家。

转载于:https://www.cnblogs.com/dojo-lzz/p/5883408.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470100.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

提取多个字段_【博客翻译】建筑物轮廓线提取以及损坏分类

原文链接原作者:Rohit Singh, Sandeep Kumar贡献者:Vinay Viswambharan, Divyansh Jha, Shivani Pathak, Daniel Wilson.翻译:荆雪涵在今年的 Esri 用户大会上,USAA 展示了基于 ArcGIS 深度学习能力,对 Woolsey 火灾进…

读取外部配置文件_SpringBoot外部配置、优先级及配置详解

一、外部配置及优先级SpringBoot的外部配置属性值官方给出了很多种方式,以便可以在不同的环境中使用相同的代码。其使用了非常特别的PropertySource命令,旨在允许合理的覆盖值。当然,如果属性值不同,则这些配置方式中的属性值都会…

Jquery 禁用浏览器的 后退和前进按钮

使用js,Jquery 禁用浏览器的back 和 next 按钮: 有时为了防治用户乱了访问顺序,不得不禁掉浏览器的前进后退按钮。 jQuery(document).ready(function () {if (window.history && window.history.pushState) {$(window).on(popstate, function ()…

JS数据结构与算法——冒泡排序(把大的数字依次往后放)

一、图解排序过程 注意:比较次数和交换次数之所以不一致,是因为:比较了并不一定就需要交换两个数字的位置,比如比较 1 和 2两个数字,由于 后者本身就比前者大,所以不需要交换两者的位置。 二、代码实现 三…

手机长曝光怎么设置_摄影教程丨手机如何拍摄长曝光照片,流光快门,星空银河搞起来!...

微信搜一搜定格取景框长曝光摄影可以拍摄出一些很酷的照片。这是一种非常灵活的摄影技术。它可以用来拍摄城市夜景,记录光绘,也可以拍摄水景片。甚至可以拍摄银河或捕捉星轨。其实长曝光不仅仅适合专业摄影师!任何人都可以用手机进行慢门拍摄…

三角剖分求多边形面积的交 HDU3060

1 //三角剖分求多边形面积的交 HDU30602 3 #include <iostream>4 #include <cstdio>5 #include <cstring>6 #include <stack>7 #include <queue>8 #include <cmath>9 #include <algorithm>10 using namespace std;11 12 const int m…

JS数据结构与算法——选择排序(把小的数字依次往前放)

一、图解排序过程 注意&#xff1a;选择排序一样是需要进行两两的比较&#xff0c;但比较过程中不进行交换&#xff0c;只有比较完成后&#xff0c;找到最小的那个数&#xff0c;才会进行交换&#xff0c;把它放到最前面。 二、代码实现 三、完整代码 <!DOCTYPE html> &…

插入模板_WordPress在文章列表和内容页插入广告

本文已同步到专业技术网站 www.sufaith.com, 该网站专注于前后端开发技术与经验分享, 包含Web开发、Nodejs、Python、Linux、IT资讯等板块.一、在文章列表插入广告文章列表模板 包括以下几个类型以及对应的主体文件:首页模板 (index.php)搜索结果页 (search.php)文章归档 (arch…

Leetcode389

Find the Difference Given two strings s and t which consist of only lowercase letters. 给出两个字符串&#xff0c;s和t&#xff0c;都是只有小写字母组成的。 String t is generated by random shuffling string s and then add one more letter at a random position. …

JS数据结构与算法——插入排序

一、图解排序过程 二、代码实现 三、完整代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><script>// 创建列表类function ArrayList() {//…

cad完全卸载教程_CAD室内设计中厨房布置实例

▲ 点击“CAD教学”&#xff0c;获取海量学习资料和免费教程本文介绍CAD室内设计中厨房布置方法&#xff1a;1、如下图是把另一边墙砌好&#xff0c;因为不砌的话门太大的话不好。在煮菜的烟容易在烟到不胜客厅里。2、在用矩形画宽为40长为800的玻璃门。3、在把厨房的台画出来&…

asp.net 的页面几种传值方式

http://www.cnblogs.com/makqiq/p/5882448.html 1.Querystring Querystring也叫查询字符串&#xff0c;这种页面间传递数据是利用网页地址URL。如果要从A页面跳转到B页面&#xff0c;则可以用Request.Redirect&#xff08;”B.aspx?name参数值”&#xff09;&#xff1b;在页面…

CSS布局(圣杯布局、双飞翼布局、水平垂直居中)

一、圣杯布局 要求&#xff1a;三列布局&#xff1b;中间主体内容前置&#xff0c;且宽度自适应&#xff1b;两边内容定宽 好处&#xff1a;重要的内容放在文档流前面可以优先渲染 原理&#xff1a;利用相对定位、浮动、负边距布局&#xff0c;而不添加额外标签 <!DOCTYPE …

cad怎么设置线的粗细_CAD软件中怎么设置CAD线宽?

在使用CAD软件绘制CAD图纸的过程中&#xff0c;不同线宽的用处是不同的。在机械制图中&#xff0c;零部件的外轮廓就是用粗实线&#xff0c;图形内部的剖开线使用细实线。一般情况下&#xff0c;都是在绘制图形过程中先设置好图形的线宽对象&#xff0c;但也有些需要在后面的绘…

gis连接表格到数据库失败_arcgis连接到数据库失败,常规功能故障

点击查看arcgis连接到数据库失败&#xff0c;常规功能故障具体信息答&#xff1a;解决方法&#xff1a; 1.新建空白地图文档&#xff0c;给整个数据框定义上目标图层相同的地理坐标系。不要设置投影坐标系。由于导入的多为经纬度数据&#xff0c;给数据框设置单位为度(或者度分…

操作数据表中的记录

insert&#xff1a;插入记录 INSERT [INTO] table_name [(column_name,...)] {VALUES/VALUE} ({expr/DEFAULT},...),(...),...;/** insert表名set &#xff08;字段‘’&#xff0c;字段‘’&#xff09; root127.0.0.1 t2>CREATE TABLE user(-> id SMALLINT UNSIGNED PR…

edger和deseq2_转录组分析(二)Hisat2+DESeq2/EdgeR

一、序列比对在2016年的一篇综述A survey of best practices for RNA-seq data analysis&#xff0c;提到目前有三种RNA数据分析的策略。那个时候的工具也主要用的是TopHat,STAR和Bowtie.其中TopHat目前已经被它的作者推荐改用HISAT进行替代。1. Hisat2教程1.1 下载安装#conda直…

HDU 2444 The Accomodation of Students 二分图匹配

HDU 2444 The Accomodation of Students 二分图匹配 题目来源&#xff1a; HDU题意&#xff1a; 给出学生数n和关系数m&#xff0c;接下来给出m个关系。 要求将学生分成两部分&#xff0c;每一部分不能有互相认识的人。做不到就输出"No"。 若上一步满足&#xff0c;则…

检测范围_论文检测系统的检测范围有哪些

为了能够让研究人员&#xff0c;甚至一些专业的学术专家在进行论文创作的时候&#xff0c;端正自己的学术态度&#xff0c;很多人都会要求他们在提交甚至是发表论文之前&#xff0c;附上自己的查重证明&#xff0c;只有查重率低于一定程度时&#xff0c;提交的论文才是合格的。…

[POJ3252]Round Number(数位dp)

题目链接&#xff1a;http://poj.org/problem?id3252 题意&#xff1a;求范围内数字二进制下0的个数大于等于1的个数的数的个数。 数位dp&#xff0c;dp(l,zero,one,fz)记录当前第l位时0的个数1的个数和当前位是否是前导零中的部分&#xff0c;dfs转移就行。 1 #include <b…