1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

How to Redirect to a certain route based on condition in Angular 2.

Discussão em 'Angular' iniciado por Amit kumar, Agosto 5, 2025.

  1. Amit kumar

    Amit kumar Guest

    I am creating one angular2-meteor app.

    export const routes: Route[] = [{
    path: '',
    redirectTo: "login",
    pathMatch: "full"
    },
    {
    path: 'login',
    component: LoginComponent
    },
    {
    path: 'csvtemplate',
    component: TemplateComponent,
    canActivate: ['canActivateForLoggedIn'],
    children: [{
    path: '',
    redirectTo: 'dashboard' <----how to add condition for multiple path
    },
    {
    path:'dashboard',
    component: DashboardComponent
    },
    {
    path: 'csvtimeline/:month/:year',
    component: CsvTimelineComponent
    }, {
    path: 'csvjson',
    component: CsvJsonComponent
    }]
    }];


    When i login to my app using LoginComponent it will go to TemplateComponent which have three child components

    • dashboard
    • csvtimeline
    • csvjson

    Now i have by default set redirectTo to my dashboard component. but in place of this redirect i want to redirect to csvjson component or csvtimeline component based on login user profile.

    Suppose

    If Login User is "Admin" he should be redirectTo - > dashboard Component

    If Login User is "Guest" then he should be redirectTo - > csvjson component

    i know we can do this in ngOnInit() of dashboard component for redirect.

    if (this.user && this.user.profile.role == 'Guest') {
    this._router.navigate(['csvtemplate/csvjson']);
    }


    but i am looking for better option so i don't have to open dashboard component each time and it will directly go to csvjson component.

    Continue reading...

Compartilhe esta Página