наблюдаемая внутри подписки функция не работает, т.е. функция внутри подписки не вызывается, так как навигация не работает - PullRequest
0 голосов
/ 16 апреля 2020

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());
  }


}

1 Ответ

0 голосов
/ 16 апреля 2020

Я думаю, вам нужно добавить '/'

  this._router.navigate(['/login']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...