Angular 配置路由时传入相关联数据,使用this.activatedRoute.snapshot.data方式获取

const routes:Routes = [{
    path:'',
    component,
    children:[
        {
           path:'person-worktable',
           loadChildren: () => import('/worktable/worktable.module').then(m => m.worktableModule),
            data:{tag:'person-worktable'},
        },
        {
           path:'unit-worktable',
           loadChildren: () => import('/worktable/worktable.module').then(m => m.worktableModule),
            data:{tag:'unit-worktable'},
        },
    ]
}]

在多个路由使用同一个模块组件时,我们通常会传入标识符用于区分,这时就可以在父模块配置子路由的时候,传入data字段,用于区分,使相同的组件完成不同的内容渲染。可以用于在路由配置中设置解析守卫并将数据传递给组件。


import { ActivatedRoute } from '@angular/router';
 
export class worktableModule{
  constructor(private activatedRoute: ActivatedRoute) {}
 
  getRouteData() {
    let data = this.activatedRoute.snapshot.data;
    console.log(data); // 输出当前路由的数据
  }
}

 在组件中使用this.activatedRoute.snapshot.data取到传递过来的数据。

  • this.activatedRoute: 当前激活的路由,由Angular Router服务提供。

  • snapshot: 提供当前路由的一个快照,包含路由的静态数据。

  • data: 快照中的数据属性,返回当前路由配置中指定的任何数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值