如果未定义参数,则Angular 6后备/重定向

时间:2018-11-09 16:54:54

标签: angular angular-router

我想要这样设置路线:

基本路线:/events/:date

点击事件重定向到/events,然后路由文件必须回退到/events/moment().format('YYYY-MM-DD')才能呈现EventsComponent

EventsComponent内,您可以执行更改日期的操作,该操作将根据您选择的日期进行导航,在这种情况下,由于定义了:date,因此不需要回退路由文件。< / p>

我只是不知道如何将其应用于我的需求。
谢谢

1 个答案:

答案 0 :(得分:0)

如果在未定义date参数的情况下只需要避免导航,则应该有两条路线,并在第二条路线上添加canActivate防护:

{
   path: 'events',
   component: EventsComponent
},
{
   path: 'events/:date',
   component: EventsDetailComponent,
   canActivate: EventDefinedGuard
}

其中EventDefinedGuardrouter guard,用于检查要定义的参数,否则重定向。