router.navigate не вызывается, поскольку функция подписки не попадает внутрь подписки #
Я использовал http registeruser и отобразил его в auth.service, но когда я подписываю его this.authService.registeruser (user) .subscribe ((данные) функция внутри подписки не вызывается, даже если я использовал console.log ("message"), сообщение также не отображается
register.component
import { Component, OnInit } from '@angular/core';
import { AuthService } from '../../services/auth.service';
import { Router } from '@angular/router';
//import { first } from 'rxjs/operators';
@Component({
selector: 'app-register',
templateUrl: './register.component.html',
styleUrls: ['./register.component.css'],
providers:[AuthService]
})
export class RegisterComponent implements OnInit {
name:String;
username:String;
email:String;
password:String;
designation:String;
constructor(
private authService:AuthService,
private _router:Router
) { }
ngOnInit(): void {
}
onRegisterSubmit(){
const user={
name:this.name,
email:this.email,
username:this.username,
designation:this.designation,
password:this.password
}
this.authService.registeruser(user).subscribe((data)=>{
if(data.success){
console.log("success");
this._router.navigate(['login']);
}
});
}
}
###auth.service.ts###
import { Injectable } from '@angular/core';
import{Http,Headers} from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable({
providedIn: 'root'
})
export class AuthService {
user:any
constructor(private http:Http) { }
registeruser(user){
var headers=new Headers();
console.log(headers);
headers.append('Content-Type','application/json');
return this.http.post('http://localhost:4100/register',user,{headers:headers})
.map(res => res.json());
}
}