angular4面包屑路由在页面刷新后被清空

发布于 2022-09-06 12:01:52 字数 2150 浏览 38 评论 0

项目头部有一栏面包屑路由,参考Demo实现了跳转功能,但是刷新页面后面包屑数据被清空

clipboard.png

clipboard.png

1.路由面包屑配置

export const visualizationRoutes = [
  {
    path: '',
    component: VisualizationComponent,
    children: [
      {
        path: 'dc-visual',
        loadChildren: './dc-visual/dc-visual.module#DcVisualModule',
      },
      {
        path: 'rack-monitor/:name',
        loadChildren: './rack-monitor/rack-monitor.module#RackMonitorModule',
        data: {
          breadcrumb: 'rack-monitor'
        }
      },
      {
        path: 'standard-rack-monitor/:name',
        loadChildren: './standard-rack-monitor/standard-rack-monitor.module#StandardRackMonitorModule',
        data: {
          breadcrumb: 'standard-rack-monitor'
        },
      }
    ]
  }
];

2.在VisualizationComponent中获取面包屑数据的函数(参考demo)

clipboard.png

3.html中展示

    <ol class="breadcrumb">
      <li>
        <a routerLink="/visualization/dc-visual" class="breadcrumb">Visual Patten</a>
      </li>
      <li *ngFor="let breadcrumb of breadcrumbs">
        <a [routerLink]="[breadcrumb.url, breadcrumb.params]">{{breadcrumb.params.name}}</a>
      </li>
    </ol>

控制台打印
clipboard.png

刷新后没有面包屑的输出

clipboard.png

请大神赐教

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱*していゐ 2022-09-13 12:01:52

刷新页面后数据源activatedRoute.root为空,所以面包屑数据并没有生成,在获取到面包屑数据后存到session里面

sessionStorage.setItem('breadcrumbList', JSON.stringify(this.breadcrumbs));

然后在ngAfterViewInit中获取

  ngAfterViewInit(){

   let breadcrumbList = sessionStorage.getItem('breadcrumbList');
 
    if(this.breadcrumbs.length==0){
      this.breadcrumbs = JSON.parse(breadcrumbList);
    }

    this.showActionMenu();

  }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文