Angular 2路由 - 禁用,重定向,转换

时间:2016-06-07 10:50:40

标签: angular angular2-routing

在我的Angular 2应用程序中,我有这个Route配置。

@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和其他人(付款等),我需要将他/她重定向到根页(/)。由于他/她不选择票类,因此无法进入收据页面。那么我该如何为路由/重定向创建一些规则呢?例如,应允许/ ticket。

此外,我需要解决应用程序的本地化 - 现在我在AppComponent的构造函数(后端的GET请求)中翻译应用程序,但如果用户直接进入/票证页面,则不会调用AppComponent的翻译 - 应用程序未被翻译。感谢

1 个答案:

答案 0 :(得分:1)

   // 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']);
    }