Я отображаю данные из шаблона, который я создаю в другом компоненте (team-announcements.component) ... в основном team.component.ts Я использую селектор для командных объявлений и добавляю [объявление] = "анонсы "и ngFor =" пусть анонс анонсов "для загрузки данных.Если массив не возвращает данных, то IE нет объявлений, как я могу отобразить заполнитель, такой как «Без объявлений»?
Здесь я загружаю объявления в team.component.html.Данные обслуживаются через службу API и извлекаются в «team.component.ts», HTML-код для рассматриваемых объектов приведен ниже.
team.component.ts (получить функции объявления):
getAnnouncements() {
this.teamsService.getTeamAnnouncements(this.team.slug)
.subscribe(announcements => this.announcements = announcements);
console.log("announcements", this.announcements);
}
team.component.html
<div class="team-announcement">
<div class="announcement-title">Message of the Day</div>
<app-team-announcements
[announcement]="announcement"
*ngFor="let announcement of announcements">
</app-team-announcements>
</div>
Так вышеприведенные «app-team-announcements» создаются в отдельном файле «team-announce.component.html» и экспортируютсяи затем используется в указанном выше коде ...
team-announcements.component.ts
import { Component, EventEmitter, Input, Output, OnInit, OnDestroy } from '@angular/core';
import { Team, Announcement, User, UserService } from '../core';
import { Subscription } from 'rxjs';
@Component({
selector: 'app-team-announcements',
templateUrl: './team-announcement.component.html'
})
export class TeamAnnouncementComponent implements OnInit, OnDestroy {
constructor(
private userService: UserService
) {}
private subscription: Subscription;
@Input() announcement: Announcement;
@Output() deleteAnnouncement = new EventEmitter<boolean>();
canModify: boolean;
ngOnInit() {
// Load the current user's data
this.subscription = this.userService.currentUser.subscribe(
(userData: User) => {
this.canModify = (userData.username === this.announcement.author.username);
}
);
}
ngOnDestroy() {
this.subscription.unsubscribe();
}
}
team-announcements.component.html
<div class="announcement-text">
{{announcement.body}}
</div>
IЯ не уверен, как или где «Если» проверить длину массива для отображения заполнителя.Кто-нибудь может помочь?