我想在角度4的欢迎组件上显示一个登录组件

时间:2018-07-30 17:53:48

标签: angular angular-ui-router angular5 angular2-routing angular-ui

当用户单击登录按钮时,我想在欢迎组件上方显示一个登录组件,登录屏幕将消失,并且欢迎屏幕将可见。这样做的原因是我正在我的应用程序中使用许可证令牌验证来检查许可证如果许可证令牌续订失败,登录屏幕将每隔1分钟显示一次令牌,如果用户有效,则可以从上次退出的地方使用该应用程序

1 个答案:

答案 0 :(得分:0)

您可以在项目结构include

中使用相同的角度布线

route.ts

import { Routes, RouterModule } from '@angular/router';

import { LoginComponent } from './login/index';
import { WelcomeComponent} from './welcome/index';

const appRoutes: Routes = [
    { path: '', component: LoginComponent },
    { path: '/welcome', component: WelcomeComponent}
];

export const routing = RouterModule.forRoot(appRoutes);

app.module.ts

...
import { routing } from './app.routing';

@NgModule({
....,
imports: [
    BrowserModule,
    FormsModule,
    HttpClientModule,
    routing
  ],
....

LoginComponent.html

<a [routerLink]="['/welcome']">Login</a>

请记住将“登录”作为定位标记,因为链接在按钮上不起作用

您能做些什么,我相信renewToken将成为将要订阅的服务的一部分,如果它在订阅时未能达到预期的结果,并使用类似这样的方法获取先前的路由

router.events
  .filter(event => event instanceof NavigationEnd)
  .subscribe(e => {
    console.log('prev:', this.previousUrl);
    this.previousUrl = e.url;
  });


 then in the next() post subscription call 

this.router.navigate([ caratSign $ {this.previousUrl} caratSign ])