1.在查询参数中传递数据

  • <a  [routerLink]="['/product']" [queryParams]="{id:1,name:'dongian'}">product</a>

然后在app-routing.module.ts中配置

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

最后在product.component.ts中接收参数

  • private productShop: any = {};
  • constructor(private routeInfo: ActivatedRoute ) { }
  • ngOnInit() {
  • this.routeInfo.queryParams.subscribe(queryParams => {
  • this.productShop.id = queryParams.id;
  • this.productShop.name = queryParams.name;
  • });
  • }

当然记得 ActivatedRoute是需要注入。。。在页面就可以打印出来了

2.路由路径中传递参数 (在这里我会将2种参数接收方式)

  • <a  [routerLink]="['/product',1]">product</a>

然后在app-routing.module.ts中配置

  • const routes: Routes = [
  • {path: 'product/:id', component: ProductComponent}
  • ];

最后在product.component.ts中接收参数

第一种 也称作 参数快照

  • private productShop: number;
  • constructor(private routeInfo: ActivatedRoute ) { }
  • ngOnInit() {
  • this.productShop = this.routeInfo.snapshot.params['id'];
  • }

第二种 也称作 参数订阅

  • private productShop: any;
  • constructor(private routeInfo: ActivatedRoute ) { }
  • ngOnInit() {
  • this.routeInfo.params.subscribe(params => this.productShop = params['id']);
  • }

区别也就在于url地址相同,传递参数不同时(比如说,一个是a标签方式跳转,一个是点击事件的方式跳转,2种情况同时存在时),使用第二种方法,

不存在这种情况的时候使用可以使用第一种

3.路由配置中传递参数(当然也要2中写法)

  • onProduct() {
  • this.router.navigate(['product', 2]);
  • }

这里主要讲第二种

  • <button (click)="onProduct()">商品详情</button>
  • onProduct() {
  • this.router.navigate(['product'], {queryParams: {id: 2, name: 'dongtian'}});
  • }
  • private productShop: any = {};
  • constructor(private routeInfo: ActivatedRoute ) { }
  • ngOnInit() {
  • this.routeInfo.queryParams.subscribe( queryParams => {
  • this.productShop.id = queryParams.id;
  • this.productShop.name = queryParams.name;
  • });
  • }

angular 4 router传递数据三种方法的更多相关文章

  1. Android传递数据5种方法

       Android开发中,在不同模块(如Activity)间经常会有各种各样的数据需要相互传递,我把常用的几种 方法都收集到了一起.它们各有利弊,有各自的应用场景. 我现在把它们集中到一个例子中展示 ...

  2. Struts2中表单与Action传递数据三种方式

    1.       Action中的属性与表单中的属性一致就可以 JSP中的表单 <form action="login.action" method="post&q ...

  3. ASP.NET MVC 中将数据从View传递到控制器中的三种方法(表单数据绑定)

    http://www.cnblogs.com/zyqgold/archive/2010/11/22/1884779.html 在ASP.NET MVC框架中,将视图中的数据传递到控制器中,主要通过发送 ...

  4. React Router v4 页面传值的三种方法

    传值方法 1.props.params 使用React router定义路由时,我们可以给指定一个path,然后指定通配符可以携带参数到指定的path: <Route path='/user/: ...

  5. DataTable数据批量写入数据库三种方法比较

    DataTable数据批量写入数据库三种方法比较 标签: it 分类: C#1)   insert循环插入:2)   sqldataadapter.update(dataset,tablename); ...

  6. mfc 在VC的两个对话框类中传递参数的三种方法

    弄了好久,今天终于把在VC中的对话框类之间传递参数的问题解决了,很开心,记录如下: 1. 我所建立的工程是一个基于MFC对话框的应用程序,一共有三个对话框,第一个对话框为主对话框,所对应的类为CTMD ...

  7. 去除DataTable重复数据的三种方法

    业务需求 最近做一个把源数据库的数据批次导出到目标数据库.源数据库是采集程序采集而来的原始数据库,所以需要对其进行一些处理(过滤一些为空,长度太短或太长,非法字符,重复数据)然后在进行入库. 其中要避 ...

  8. 【转】asp.net导出数据到Excel的三种方法

    来源:http://www.cnblogs.com/lishengpeng1982/archive/2008/04/03/1135490.html 原文出处:http://blog.csdn.net/ ...

  9. JAVA写JSON的三种方法,java对象转json数据

    JAVA写JSON的三种方法,java对象转json数据 转自:http://www.xdx97.com/#/single?bid=5afe2ff9-8cd1-67cf-e7bc-437b74c07a ...

随机推荐

  1. Spring Cloud Alibaba Nacos 入门

    概览 阿里巴巴在2018年7月份发布Nacos, Nacos是一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台.并表示在6-8个月完成到生产可用的0.8版本,目前版本是0.9版本. Na ...

  2. fork/join概述

    Fork/Join是java 7 解决并发问题的解决方案. 是 java内部并行框架.核心思想分别为拆分任务和结果合并,在核心思想外,为了提高cpu多核的利用率,设计了工作窃取算法,并将工作队列设计为 ...

  3. Yii2基本概念之——配置(Configurations)

    在Yii中创建新对象或者初始化已经存在的对象广泛的使用配置,配置通常包含被创建对象的类名和一组将要赋值给对象的属性的初始值,这里的属性是Yii2的属性.还可以在对象的事件上绑定事件处理器,或者将行为附 ...

  4. Dynamics 365 Customer Engagement V9 活动源功能报错的解决方法

    微软动态CRM专家罗勇 ,回复300或者20190120可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 安装好Dynamic ...

  5. ccflow表机构与运行机制(二次开发必看)

    驰骋工作流引擎,工作流程管理系统,表结构与运行机制. ------------------------------------------------------- 前言: 1, ccflow 有自动 ...

  6. 关于ajax用户名验证和jquery实现简单表单验证

    首先来说用户名验证: 前台: <tr> <td class="tableleft">教师编号</td> <td><input ...

  7. 阿里云服务器部署Office online注意事项

    阿里云服务器部署Office online注意事项 一.参考配置 实例规格:4核8GB(IO优化) 网络带宽:5Mbps 系统盘:40G 存储盘:200G OS:Windows Server 2016 ...

  8. 算法:数组中和为s的两个数字

    @问题 :题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述:对应每个测试案例,输出两个数,小的先输出.@思路: 两个 ...

  9. C#-委托delegate

    目录 委托的定义 委托的声明 委托的实例 委托的注意细节 泛型委托(详见<精通C#>--10.4泛型委托) 1.Action<>委托 3.Func<>委托 附录 委 ...

  10. STP生成树协议

    STP主要作用 1.消除环路:通过阻断冗余链路来消除网络中可能存在的链路 2.链路备份:当活动那个路径发生故障时,激活备份链路,及时恢复网络连通性. 根桥选举 每个交换机启动STP后,都认为自己是根桥 ...