* ngIf-else не показывает другие результаты - PullRequest
0 голосов
/ 08 сентября 2018

Понятия не имею, почему это не работает, и я застрял. Кто-нибудь может определить, что не так с моим кодом?

Я пытаюсь показать сообщение «Не найдено», когда нет билетов для показа. Я пытался получить результат с помощью массива tickets, но он всегда показывает, что длина равна 0.

HTML

<ng-container *ngIf="tickets; else elseTemplate">
  <div class="container">
    <div class="row justify-content-md-center">
      <div class="col-sm-4" *ngFor="let ticket of tickets">
        <div class="card">
          <h5 class="card-header"><span class="fa fa-ticket"></span> Pileti nr. {{ticket._id}}</h5>
        </div>
      </div>
    </div>
  </div>
</ng-container>
<ng-template #elseTemplate>
  <div><h1>Ticket not found.</h1></div>
</ng-template>

TS

import { Component, OnInit } from '@angular/core';
import { TicketService } from '../../ticket.service';
import { ActivatedRoute } from '@angular/router';
import * as moment from 'moment';
import {Location} from '@angular/common';

@Component({
  selector: 'app-reg-ticket-list',
  templateUrl: './reg-ticket-list.component.html',
  styleUrls: ['./reg-ticket-list.component.css']
})
export class RegTicketListComponent implements OnInit {

  reg: string;

  public tickets = [];

  constructor(private ticketService: TicketService, private route: ActivatedRoute, private _location: Location) { }

  ngOnInit() {
      this.reg = this.route.snapshot.params.reg;
      this.ticketService.getTicketsByReg(this.reg)
          .subscribe(data => this.tickets = data);
    }

    dateFormat(date) {
      moment.locale('et');
      return moment(date).format("Do MMMM YYYY HH:mm:ss")
    }

    goBack() {
      this._location.back();
    }

}

1 Ответ

0 голосов
/ 08 сентября 2018

При использовании *ngIf="tickets; это будет проверять только, является ли tickets ложным, а пустой массив не ложным (хотя null -).

Вместо этого вы можете использовать *ngIf="tickets && ticket.length;, который также проверит, что длина не равна 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...