import { Router } from '@angular/router'; import { Component, Inject } from '@angular/core'; import { FormGroup, FormBuilder, Validators } from '@angular/forms'; import { SettingsService } from '@delon/theme'; import { DA_SERVICE_TOKEN, ITokenService } from '@delon/auth'; @Component({ selector: 'passport-lock', templateUrl: './lock.component.html', styleUrls: [ './lock.component.less' ] }) export class UserLockComponent { f: FormGroup; constructor( fb: FormBuilder, @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService, public settings: SettingsService, private router: Router, ) { tokenService.clear(); this.f = fb.group({ password: [null, Validators.required], }); } submit() { // tslint:disable-next-line:forin for (const i in this.f.controls) { this.f.controls[i].markAsDirty(); this.f.controls[i].updateValueAndValidity(); } if (this.f.valid) { console.log('Valid!'); console.log(this.f.value); this.tokenService.set({ token: '123' }); this.router.navigate(['dashboard']); } } }