【发布时间】:2018-02-11 09:07:57
【问题描述】:
我有一个具有这种类型路由模型的 Angular 2 页面:
const routes: Routes = [
{ path: '', pathMatch: 'prefix', redirectTo: 'announcement' },
{ path: 'announcement', component: AnnouncementComponent },
{ path: 'important-documents', component: ImportantDocumentsComponent },
{ path: 'reservations-and-orders', component: ReservationsAndOrdersComponent},
{ path: 'contact', component: ContactComponent },
{ path: '**', redirectTo: 'announcement'}
];
当我在我的重要文档组件中打开一个 pdf 文件,然后尝试通过按浏览器中的后退按钮返回上一页时,就会出现问题。该页面通知我在此服务器中找不到请求的 url。我假设发生这种情况是因为实际上角度页面只有一个 url,并且浏览器正在尝试加载页面 url + 路径。我想我可以用这个来解决它:
{ path: '**', redirectTo: 'announcement'}
但它似乎没有起到作用。
我想知道如何防止这种类型的url错误发生,以便浏览器在返回时重定向到正确的url。
提前谢谢了。
【问题讨论】:
-
如果只需要重定向无效路径,请尝试这样 -
{ path: '**', component: AnnouncementComponent }只需将作为您在 sn-p 中显示的最后一个路径 -
没用。它只是破坏了路由模块并将所有路径重新路由到 AnnouncementComponent。