router 传值

get 传值

路由配置
{
    path: 'new',
    component: NewContentComponent
}
[routerLink]  路由
[queryParams] 参数
<ol>
  <li
    *ngFor="let item of queryList; index as i"
    [routerLink]="['/new']"
    [queryParams]="{ id: item.id }"  >
    {{ item.title }}
  </li>
</ol>
导入 ActivatedRoute 
import { ActivatedRoute } from '@angular/router';


声明
constructor(public route: ActivatedRoute) {}

应用
this.route.queryParams.subscribe(data => {
    this.page = data.id;
});

get 传值 js 跳转

引入
import { Router, NavigationExtras } from '@angular/router';

声明
constructor(public route: Router) {}

应用
goDetail(id) {
    // NavigationExtras 传参类型,标准写法;也可以不带。
    const params: NavigationExtras = {
      queryParams: {
        id
      }
    };
    this.route.navigate(['/new'], params);
}

动态路由传参

路由配置 app.routing.module.ts 
{
    path: 'new:/id', (错误配置)
    component: NewContentComponent
}


具体模块使用 html
<ol>
  <li
    *ngFor="let item of queryList; index as i"
    [routerLink]="['/new/', item.id]">
    {{ item.title }}
  </li>
</ol>

报错

 解决

路由配置问题
{
    path: 'new/:id',
    component: NewContentComponent
}

参数获取

引入
import { ActivatedRoute } from '@angular/router';

声明
constructor(public route: ActivatedRoute) {}

应用
this.route.params.subscribe(data => {
   console.log(data);
   this.page = data.id;
});

动态路由的 js 跳转

引入 Router 
import { Router } from '@angular/router';

声明
constructor(public route: Router) {}

应用   id 可以方法传参也可以固定写
goDetail(id?) {
   this.route.navigate(['/new/', id]);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值