Моя реактивная форма html не отображается. Пожалуйста, смотрите ниже мой код

#angular #forms #reactive

#angular #формы #реактивный

Вопрос:

После того, как я нажму кнопку «Посмотреть фильм«, я хочу перенаправить на страницу входа в систему, но моя страница входа в систему не отображается. В чем проблема?

Мой movie-list.component.html

 <div class="container" style="margin-top: 70px;">
    <table class="table table-hover">
      <thead>
        <tr>
          <th>#</th>
          <th>MovieName</th>
          <th>MovieType</th>
          <th>MovieRoom</th>
        </tr>
      </thead>
      <tbody>
        <tr *ngFor="let movie of moviess">
          <td> {{ movie.id }}</td>
          <td> {{ movie.movieName }}</td>
          <td> {{ movie.movieType }}</td>
          <td> {{ movie.movieRoom }}</td>
          <td>
            <!-- <button class="btn btn-primary" (click)="onSelect(movie)"> Select movie</button> -->
            <a routerLink="/login"><button class='btn btn-success'(click)="onSelect()">Select movie</button></a>
          </td>
        </tr>
      </tbody>
    </table>
 

Мой movie-list.component.ts

 import { Component, OnInit } from '@angular/core';
import { DataService } from '../data.service';
import { Movies } from './movies';
import { Moviess} from './mock-heroes';
import { User } from '../_models';
import { AuthenticationService } from '../_services';


@Component({
  selector: 'app-movie-list',
  templateUrl: './movie-list.component.html',
  styleUrls: ['./movie-list.component.css']
})

export class MovieListComponent implements OnInit {

  moviess = Moviess;
  selectedMovie : Movies;

  ngOnInit(): void {}
  
  constructor() {}

  // public onSelect(){
  //   this.selectedMovie = movie;
  // }

  onSelect = function() {
    this.router.navigateByUrl('/login');
  }
}
 

Мой login.component.ts

 import { Component, OnInit} from '@angular/core';
import { FormGroup, Validators, FormBuilder, FormControl } from '@angular/forms';
import { Router, ActivatedRoute } from '@angular/router';
import {} from 'rxjs';
import { ReactiveFormsModule } from '@angular/forms'

import { AlertService, AuthenticationService } from '../_services/index';
import { User } from '../_models/user';

@Component({
    selector: 'app-login',
    templateUrl: './login.component.html'
  })

export class LoginComponent implements OnInit {
    name = new FormControl('formControlName');
    loginForm: FormGroup;
    loading = false;
    submitted = false;
    returnUrl: string;
    currentUser: User;

    constructor(
      private formBuilder: FormBuilder,
      private route: ActivatedRoute,
      private router: Router,
      private authenticationService: AuthenticationService,
      private alertService: AlertService
      ) {
        
      this.authenticationService.currentUser.subscribe(x => this.currentUser = x);

  // redirect to home if already logged in
  //   if (this.authenticationService.currentUserValue) { 
  //       this.router.navigate(['./home']);
  // }
  }

  ngOnInit() {
    // this.authenticationService.logout();

    this.loginForm = this.formBuilder.group({
      email: ['', Validators.required],
      password: ['', Validators.required]
    });

    // get return url from route parameters or default to '/'
    this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';
  }

  // convenience getter for easy access to form fields
  get f() { return this.loginForm.controls; }

  onSubmit() {
    this.submitted = true;

    // stop here if form is invalid
    if (this.loginForm.invalid) {
    return; 
    }
    this.loading = true;
    this.authenticationService.login(this.f.email.value, this.f.password.value)
      .subscribe(
        _data => {
          this.router.navigate([this.returnUrl]);
        },
        error => {
          this.alertService.error(error);
          this.loading = false;
        });
  }
}
 

В routing.module.ts я объявил путь для входа, а также в ngmodel я упомянул logincomponent в объявлениях.

В чем моя ошибка?

Комментарии:

1. когда вы нажимаете на кнопку в то время, метод onSelect () проверяет, идет или нет?

2. можете ли вы добавить свой app-routining.module.ts файл?