角度路由 - 如何设计3个可选参数的路由?

时间:2017-12-11 17:16:48

标签: angular angular2-routing angular-routing

我目前处境非常奇怪。我的结构有三个级别。好吧,基本上,我有一个关于导航的document.getElementById('iframeId').src = url; 目录。例如:

  • parent -> child -> subchild
  • Vehicles -> Cars -> Fast cars
  • Vehicles -> Cars -> Slow cars

现在,我获得的数据以父项没有项目的方式表示。如果我仅使用Vehicles -> Airplanes -> Commercial Airplanes发出请求,我就什么也得不到,VehiclesCars都有内容。但这只是数据的结构,它超出了我的控制范围。

因此,很明显,我的网址可以随时为Fast carsmy-app.com/vehicles/cars。这两个路径都需要显示项目列表。此外,用户也可以输入my-app.com/vehicles/cars/slow-cars。重要的是网址是这样的,而不是my-app.com/vehicles

为此规范创建路由(以及整个结构)有点多。这是我接触这件事的方式。

由于我还没有找到关于如何创建可选参数的任何参考,我不得不重复路由,如下所示:

,child=cars

现在,我真的很讨厌这个。这是重复和诸如此类的,但鉴于目前的情况,我不知道如何以不同的方式做到这一点。

加载const routes: Routes = [{ path: '', component: ArticlesHomeComponent }, { path: ':first', component: ArticlesHomeComponent }, { path: ':first/:second', component: ArticlesHomeComponent }, { path: ':first/:second/:third', component: ArticlesHomeComponent }]; 后,我会查看有多少参数可用。如果ArticlesHomeComponent不是,我会重定向到导航中的第一项。如果first也不可用,我会得到父亲的第一个孩子并重定向。只有这样才能显示一些内容。

采用这种方法似乎有点不对劲。你们觉得怎么样?

0 个答案:

没有答案