存储用户。当用户登录或值为真..我们的进度条将工作..当用户为false或用户不是登录用户变量有空。所以不会在那里。
<app-progress-bar *ngIf="user" ></app-progress-bar>
也向我们展示了一些代码。如果你有其他问题。这个问题你可以使用* ngIf结构指令轻松解决。
使用canActivate 我希望这将有助于你
的应用,进度条组件使用canActivate: ['canActivateForLoggedIn'],
export const routes: Route[] = [{
path: '',
redirectTo: "login",
pathMatch: "full"
},
{
path: 'login',
component: LoginComponent
},
{
path: 'csvtemplate',
component: TemplateComponent,
canActivate: ['canActivateForLoggedIn'],
children: [{
path: '',
redirectTo: 'dashboard'
},
{
path:'dashboard',
component: DashboardComponent
},
{
path: 'csvtimeline/:month/:year',
component: CsvTimelineComponent,
canActivate: ['canActivateForLoggedIn'],
},{
path: 'adduser',
component: adduserComponent
}
]
}];
,并在同一路线文件
export const ROUTES_PROVIDERS = [{
provide: 'canActivateForLoggedIn',
useValue:() => !! Meteor.userId() <--- write your condition here.. i have used meteor.. i don't know what you have used
}];
后,在您的模块文件将其导入并将其放入供应商
012中
@NgModule({
imports: [
BrowserModule,
FormsModule,
ReactiveFormsModule,
RouterModule.forRoot(routes),
],
declarations: [
AppComponent,
],
providers: [
...ROUTES_PROVIDERS
],
bootstrap: [
AppComponent
]
})
谢谢你的回答,我已经知道这个,但不知道这是否是最好的方法。我遇到@CanActivate,但不知道如何在组件中实现它。 – rishal
@rishal我已经编辑了我的答案给你..我希望这会帮助.. –