没有元素

时间:2017-03-08 13:28:23

标签: angular rxjs

我有一个Observable,我正在使用这个:

<ng-container *ngFor="let category of categories$ | async">
    <div class="box__subtitle">{{ category.title }}</div>
    <div class="box__content">
        <div class="question" *ngFor="let question of category.questions">
            <div class="question__title" [innerHTML]="question.title"></div>
            <div class="question__answer" [innerHTML]="question.answer"></div>
        </div>
    </div>
</ng-container>

但是,当Observable没有返回任何元素时,我希望能够显示一条消息。我是在ngOnInit

中做到这一点的
this.categories$.subscribe(result => this.empty = result.length === 0);

然后添加

<div class="box__content" *ngIf="empty" style="text-align:center;">
    <i class="fa fa-frown-o" style="font-size:1.2rem;margin-right:5px;"></i> Random error message
</div>

在我的模板中。它有效,但我想知道是否有更好的方法。类似的东西:

<div class="box__content" *ngIf="categories$.empty()" style="text-align:center;">
    <i class="fa fa-frown-o" style="font-size:1.2rem;margin-right:5px;"></i> Aucune question ne correspond à votre recherche
</div>

1 个答案:

答案 0 :(得分:1)

我认为你可以使用它:

<input type="text" name="textbox" id="textbox" />