Angular 2 路由 - 禁用、重定向、转换
Angular 2 routing - disable, redirect, translation
在我的 Angular 2 应用程序中,我有这个路由配置。
@RouteConfig([
{ path: '/', name: 'Welcome', component: WelcomeComponent, useAsDefault: true },
{ path: '/ticket', name: 'Ticket', component: TicketComponent },
{ path: '/payment', name: 'Payment', component: PaymentComponent },
{ path: '/receipt', name: 'Receipt', component: ReceiptComponent },
{ path: '/login', name: 'Login', component: LoginComponent },
{ path: '/services', name: 'Services', component: ServicesComponent },
{ path: '/email', name: 'Email', component: EmailComponent },
{ path: '/used-services', name: 'UsedServices', component: UsedServicesComponent }
])
如果用户类型URL地址http://localhost:8080/receipt和其他(付款等)我需要重定向him/her到根页面(/)。无法进入收据页面,因为 he/she 没有选择机票类型。那么如何为 routing/redirection 创建一些规则呢?例如,/ticket 应该被允许。
我还需要解决应用程序的本地化问题 - 现在我在 AppComponent 的构造函数(后端 GET 请求)中翻译应用程序,但是如果用户直接进入 /ticket 页面,则不会调用 AppComponent 的翻译 - 应用程序不会翻译。谢谢
// on type ticket can save that it localstorage like...
localStorage.setItem('tickType', 'Bus');
// and in receipt page check this local storage tickType exixt or not
if(localStorage.getItem('tickType')) {
console.log(true);
} else {
console.log(false);
this.router.navigate( ['/Welcome']);
}
在我的 Angular 2 应用程序中,我有这个路由配置。
@RouteConfig([
{ path: '/', name: 'Welcome', component: WelcomeComponent, useAsDefault: true },
{ path: '/ticket', name: 'Ticket', component: TicketComponent },
{ path: '/payment', name: 'Payment', component: PaymentComponent },
{ path: '/receipt', name: 'Receipt', component: ReceiptComponent },
{ path: '/login', name: 'Login', component: LoginComponent },
{ path: '/services', name: 'Services', component: ServicesComponent },
{ path: '/email', name: 'Email', component: EmailComponent },
{ path: '/used-services', name: 'UsedServices', component: UsedServicesComponent }
])
如果用户类型URL地址http://localhost:8080/receipt和其他(付款等)我需要重定向him/her到根页面(/)。无法进入收据页面,因为 he/she 没有选择机票类型。那么如何为 routing/redirection 创建一些规则呢?例如,/ticket 应该被允许。
我还需要解决应用程序的本地化问题 - 现在我在 AppComponent 的构造函数(后端 GET 请求)中翻译应用程序,但是如果用户直接进入 /ticket 页面,则不会调用 AppComponent 的翻译 - 应用程序不会翻译。谢谢
// on type ticket can save that it localstorage like...
localStorage.setItem('tickType', 'Bus');
// and in receipt page check this local storage tickType exixt or not
if(localStorage.getItem('tickType')) {
console.log(true);
} else {
console.log(false);
this.router.navigate( ['/Welcome']);
}