在angular 4应用程序中实现用户友好路由

时间:2018-05-08 17:09:42

标签: angular routing

我有一个有角度的4单页应用程序。营销需求是检查我们是否可以拥有这样的网址:

www.abc.com/fancyname/x

www.abc.com/fancyname/y

www.abc.com/fancyname/z

目前显示的路线是: www.abc.com/#/x等等。

如何实施以上方法以及如何配置路线?

  • 进展到现在:

a)要删除#我们可以使用pathlocationstratergy,但我们需要尝试相同的。直到现在还没试过

b)我们可以使用childrouting但我们可能没有足够的时间在手,因为当前路由不是以这种方式完成的。

目前我们的路由完成如下:

const appRoutes: Routes = [
  { path: 'x', component: xComponent },
  { path: 'y',      component: yComponent},
  { path: 'z',      component: zComponent},
];

we want it to be like: 

const appRoutes: Routes = [
  { path: 'fancyname/x', component: xComponent },
  { path: 'fancyname/y',      component: yComponent},
  { path: 'fancyname/z',      component: zComponent},
];

我们假设如果我们尝试实现像fancyname / x这样的东西,它将被视为子路由。我们无法将base-href操作为/ fancyname,因为它会破坏所有内部资产(如图像,字体等)的URL。

1 个答案:

答案 0 :(得分:2)

如果我正确理解了这个问题,你应该只使用无组件父路线。

像这样:

const appRoutes: Routes = [{ 
  path: 'fancyname', 
  children: [
    { path: 'x', component: xComponent },
    { path: 'y', component: yComponent },
    { path: 'z', component: zComponent }
  ]}
];

据我所知,这样做不应该在你的应用程序中改变任何功能,除了使路由“fancyname / childpath”。