Как показать список в Angular

Я хочу показать список билетов в моем интерфейсе Angular. Я хочу показать ticketId и place, как на картинке ниже.

Вот мой запрос от http://localhost:8080/api/customers

Как показать список в Angular

Вот результат на http://localhost:4200/customer

К сожалению, список билетов пуст. Я не знаю, как это показать.

Как показать список в Angular

Вот мой класс customer-details.component.html

<div *ngIf = "customer">
<div>
<label>Name: </label> {{customer.name}}
</div>
<div>
<label>Surname: </label> {{customer.surname}}
</div>
<div>
<label>List of tickets: </label> {{customer.tickets}}
</div>
<span class = "button is-small btn-danger"  (click)='deleteCustomer()'>Delete</span>
<hr/>
</div>

Мой класс customers-list.component.html

<div *ngFor = "let customer of customers | async" style = "width: 300px;">
<customer-details [customer]='customer'></customer-details>
</div>

<div>
<button type = "button" class = "button btn-danger" (click)='deleteCustomers()'>Delete all</button>
</div>

Класс customer.service.ts

export class CustomerService {

private baseUrl = 'http://localhost:8080/api/customers';

constructor(private http: HttpClient) {
}

getCustomersList(): Observable<any> {
return this.http.get(`${this.baseUrl}`);
}

Мой класс customer.ts

export class Customer {
customerId: number;
name: string;
surname: string;
tickets: Ticket[];
}
export class Ticket {
ticketId: number;
place: number;
customerId: number;
flightId: number;
}

Класс customers-list.component.ts

export class CustomersListComponent implements OnInit {

customers: Observable<Customer[]>;

constructor(private customerService: CustomerService) { }

ngOnInit() {
this.reloadData();
}

reloadData() {
this.customers = this.customerService.getCustomersList();
}
}
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
0
1 191
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

В вашем customer-details.component.html вы должны выполнить итерацию на вашем ticket.

Вы можете попробовать что-то вроде этого:

<div>
  <label>List of tickets: </label>
  <div *ngFor = "let ticket of customer.ticket">
    {{ ticket.ticketId }}
    {{ ticket.place }}
  </div>
</div>

к сожалению, все еще пусто

Viola 16.12.2018 17:00
Ответ принят как подходящий

Согласно изображению json-ответа, свойство называется ticket, а не tickets. Итак, вы хотите либо переименовать его (поскольку это явно неправильное название), либо выполнить итерацию соответственно:

*ngFor = "let ticket of customer.ticket"

Другие вопросы по теме