可以根据角度条件进行布线吗?

时间:2019-06-13 11:43:10

标签: angular angular-ui-router angular7 angular-routing angular8

我在角度应用中具有动态路由配置,如下所示。


 { path: ':locale/:id', component: HomePageCategory    },
 { path: ':locale/:platform', component: PlatformPageCategory    },
 { path: ':locale/contact', component: ContactPageCategory    },

在上面的代码中,我基于动态值进行导航。如果第二个url作为数字表示它应该转到一个组件,而作为字符串表示它应该转到另一个组件。基于此,它应该路由。这是我的要求。这有可能实现吗?

  

是否可能基于条件路由?

是否还支持基于条件的路由?就像ASPNET Core。请检查以下图片。

ASP.NET Core Routing constraints

2 个答案:

答案 0 :(得分:1)

您可以通过canActivate完成此操作。在canActivate中,检查routeParam的类型,并将其相应地重定向到您希望的其他路由。

我在这里做了一个stackBlitz示例: https://stackblitz.com/edit/angular6-pux5el?file=app/my-guard.guard.ts

答案 1 :(得分:0)

我不知道如何在路径描述中实现这一点。您可以做的是重构路径,然后设置不同数量的参数。然后,当您必须导航到路线时,可以采取解决方法。

示例:

if (isNaN(parseInt(yourParam))){
   // This is not a number, navigate to route 1
} else {
   // This is a number, navigate to route 2
}