研究ng4的官网,终于找到了我想要的方法。我想要的结果是用‘&’拼接参数传送,这样阅读上是最好的。否则很多‘/’的拼接,容易混淆参数和组件名称。
一般我们页面跳转传递参数都是这样的格式:
http://angular.io/api?uid=1&username=moon

但是在SPA单页应用中却是下面的结果居多:
http://angular.io/api/1/moon

那么怎么实现我说的结果呢?重点开始了。

实现从product页面跳转到product-detail页面。

step1:在app-routing.module.ts中配置路由。

const routes: Routes = [
{
path: 'product',
component: ProductComponent,
},
{
path: 'product-detail',
component: ProductDetailComponent,
}
];

step2:在product.ts中书写跳转,并传参数。

constructor(
private router: Router, //这里需要注入Router模块
){} jumpHandle(){
//这是在html中绑定的click跳转事件
this.router.navigate(['product-detail'], {
queryParams: {
productId: '1',
title: 'moon'
}
});
}

step3:在product-detail.ts中获取传递过来的参数productId、title

constructor(
private activatedRoute: ActivatedRoute, //这里需要注入
ActivatedRoute模块
) {
activatedRoute.queryParams.subscribe(queryParams => {
let productId = queryParams.productId;
let title = queryParams.title;
});
}

ok,就这样完美的解决了。

angular4.0路由传递参数、获取参数最nice的写法的更多相关文章

  1. C#分析URL参数获取参数和值得对应列表

    原文: C#分析URL参数获取参数和值得对应列表 /// <summary> /// 分析url链接,返回参数集合 /// </summary> /// <param n ...

  2. C#分析URL参数获取参数和值得对应列表(一)

    C#操作Url参数 http://www.cnblogs.com/RobotH/archive/2008/11/17/1335322.html 用 C# 分析 URL 中的参数信息 http://ww ...

  3. 路由传值及获取参数,路由跳转,路由检测,this.$route.query和this.$route.params接收参数,HttpGet请求拼接url参数

    配置动态路由参数id: routes: [ // 动态路径参数 以冒号开头 { path: '/user/:id', component: User } ] html路由跳转: <router- ...

  4. lua post参数获取,参数截断

    post 请求头: a.application/x-www-form-urlencoded 普通表单提交 b.multipart/form-data 含有文件的表单,二进制上传 c.applicati ...

  5. JS控制静态页面之间传递参数获取参数并应用

    在项目中遇到这也一个问题: 有a.html和b.html. 1.a页面已经打开,b页面尚未打开,我希望在a页面设置好一些列参数,比如背景色,宽度等参数,传递给b页面,好让b页面在打开就能应用. 2.a ...

  6. C#分析URL参数获取参数和值得对应列表(二)

    不错博客: [C#HttpHelper]官方产品发布与源码下载---苏飞版http://www.sufeinet.com/thread-3-1-1.html http://blog.csdn.net/ ...

  7. angular4.0 路由守卫详解

    在企业应用中权限.复杂页多路由数据处理.进入与离开路由数据处理这些是非常常见的需求. 当希望用户离开一个正常编辑页时,要中断并提醒用户是否真的要离开时,如果在Angular中应该怎么做呢? 其实Ang ...

  8. Vue-Router路由 Vue-CLI脚手架和模块化开发 之 使用路由对象获取参数

    使用路由对象$route获取参数: 1.params: 参数获取:使用$route.params获取参数: 参数传递: URL传参:例 <route-linke to : "/food ...

  9. Vue-Router路由Vue-CLI脚手架和模块化开发 之 使用props替代路由对象的方式获取参数

    在上一章博文中使用路由对象$route获取参数时,组件和路由对象耦合,在这篇博文中就可以使用props来进行解耦: 1.在组件中使用props选项定义数据,接收参数: 2.在路由中,使用props选项 ...

随机推荐

  1. 剑指Offer_6_从尾到头打印链表

    题目描述        输入应该链表的头节点 , 从尾到头反过来打印出每个节点的值.链表定义如下 : typedef struct ListNode { int m_nKey ; ListNode * ...

  2. Python&amp;MySQL&amp;PyQt

    环境: Python2.7+MySQL5.6+PyQt4 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/40 ...

  3. 设置应用栏(Setting Up the App Bar)

    今天星期五,刚从体育场打完球回来,洗了洗脚.明天还要继续上班,也是非常艰难.近期我的小腰有点不舒服,就早点睡觉歇息. 所以今天就简单的翻译一篇Android官方站点上的文章,我会加一些补充. 原文地址 ...

  4. Android仿微信朋友圈图片浏览器(支持图片手势缩放,拖动)

    ※效果 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGluZ2xvbmd4aW4yNA==/font/5a6L5L2T/fontsize/400/fil ...

  5. 输入url会发什什么

    从输入url到页面加载完成发生了什么 整体来说有几个基本的点: 1.浏览器的地址栏输入url并按下回车 2.浏览器查找当前url是否存在缓存,并比较缓存是否过期 3.DNS解析url对应的IP 4.根 ...

  6. ABP入门系列(21)——切换MySQL数据库

    ABP入门系列目录--学习Abp框架之实操演练 源码路径:Github-LearningMpaAbp 1. 引言 Abp支持MySql已经不是什么新鲜事了,但按照官方文档:Entity Framewo ...

  7. (转自知乎https://www.zhihu.com/question/20794107)动态代理

    作者:雨夜偷牛的人链接:https://www.zhihu.com/question/20794107/answer/23330381来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  8. java.lang.NoSuchMethodError: com.itextpdf.text.pdf.PdfDiv.setKeepTogether(Z)V

    用com.itextpdf.text.Document打印pdf报错 时间:2017-06-22 12:23:39,594 - 级别:[ERROR] - 消息: [other] Servlet.ser ...

  9. The ResourceConfig instance does not contain any root resource classes

    问题描述 当我们在使用 myeclipse 创建 Web Service Projects 项目后,运行项目然后就会出现这个问题. 解决方案 通过这个错误描述,我们项目没有找到这个资源.报错的原因在于 ...

  10. Linux配置文件注释注意:行首注释,不要行中注释

    正确注释: # 注释语句 错误注释:这种注释可能导致文件读取异常或报错 有效语句 # 注释语句 # 注释语句