Após essa aula tive o seguinte erro ao fazer login:
TypeError: You provided 'undefined' where a stream was expected. You can provide an Observable, Promise, Array, or Iterable. signin.component.ts :39
Já pesquisei e comparei com o projeto pronto disponibilizado pelo instrutor mas ainda não consigo identificar o que esta errado.
Meu signin.component.ts :
import { Component, OnInit, ElementRef, ViewChild } from '@angular/core';
import { FormGroup, FormBuilder, Validators } from '@angular/forms';
import { AuthService } from '../../core/auth/auth.service';
import { Router } from '@angular/router';
import { PlatformDetectorService } from '../../core/platform-detector/platform-detector.service';
@Component({
templateUrl: './signin.component.html'
})
export class SignInComponent implements OnInit {
loginForm: FormGroup;
@ViewChild('userNameInput') userNameInput: ElementRef<HTMLInputElement>;
constructor(
private formBuilder: FormBuilder,
private authService: AuthService,
private router: Router,
private platformDetectorService: PlatformDetectorService) { }
ngOnInit(): void {
this.loginForm = this.formBuilder.group({
userName: ['', Validators.required],
password: ['', Validators.required]
});
this.platformDetectorService.isPlatformBrowser() &&
this.userNameInput.nativeElement.focus();
}
login() {
const userName = this.loginForm.get('userName').value;
const password = this.loginForm.get('password').value;
this.authService
.authenticate(userName, password)
.subscribe(
() => this.router.navigate(['user', userName]),
err => {
console.log(err);
this.loginForm.reset();
this.platformDetectorService.isPlatformBrowser() &&
this.userNameInput.nativeElement.focus();
alert('Invalid user name or password');
}
);
}
}