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.