【发布时间】:2018-03-27 18:10:39
【问题描述】:
我正在用 Angular 5.x SPA 替换现有的 AngularJS 1.6.x SPA,并且我想让更改对我的用户透明。
我担心拥有现有应用书签的用户,因为它的 URL 中有哈希(例如:example.com/#/menu 和 example.com/#/item/37);
但是,新应用的 URL 中没有哈希(例如:example.com/menu 和 example.com/item/37)。
路径和路由都是一样的,除了当前应用中的#/。
有没有办法可以配置 Angular 路由以删除 #/ 并使用新应用的无哈希路由配置?
我可以复制所有路由以适应带有和不带有哈希的路径,但必须有一种方法不需要加倍我的代码。
// Don't really want to do this:
const routes: Routes = [
{
path: 'menu',
component: MenuComponent
},
{
path: '#/menu',
component: MenuComponent
},
// etc.
];
同样,重定向每个#/ 路径也会使代码加倍。
// Don't really want to do this:
const routes: Routes = [
{
path: 'menu',
component: MenuComponent
},
{
path: '#/menu',
redirectTo: 'menu'
},
// etc.
];
我希望有一些类似的东西:
{
path: '#/*',
redirectTo: '*' // Somehow reference the wildcard part of the path here
}
提前感谢您的帮助。
【问题讨论】: