Angular 如果搜索结果为空,如何显示消息?

Angular 如果搜索结果为空,如何显示消息?,angular,Angular,现在我有了变量: serachResult = []; 在Temapte内部,我检查: <div *ngIf="serachResult.length == 0">No data</div> 无数据 仅当存在搜索响应时,才会填充数组serachResult 问题是消息没有数据总是显示,如果用户没有发出搜索请求搜索结果被初始化为空数组,因此即使在发出搜索请求之前,条件*ngIf=“serachResult.length==0”也将解析为true。这

现在我有了变量:

serachResult = [];
在Temapte内部,我检查:

<div *ngIf="serachResult.length == 0">No data</div>
无数据
仅当存在搜索响应时,才会填充数组
serachResult


问题是消息
没有数据
总是显示,如果用户没有发出搜索请求

搜索结果
被初始化为空数组,因此即使在发出搜索请求之前,条件
*ngIf=“serachResult.length==0”
也将解析为true。这就是为什么即使用户没有发出搜索请求,也不会显示任何数据

您可以创建另一个变量
isDisplaySearchResult=false
,并在用户发出搜索请求后将其设置为true。 您的模板代码将更改如下-


无数据

定义另一个用于显示搜索结果的变量,并将其值设置为
false

showResult: boolean = false;
当用户搜索结果可用时,将
showResult
值更改为
true

在html中检查
showResult
是否为真,然后检查
serachResult.length

<div *ngIf="showResult && serachResult.length == 0">No data</div>
无数据

您只需将另一个布尔值添加到
div
标记,如
isSearch
。如何将其与模板一起使用?`*ngIf=“documents?.count>0&&isDisplaySearchResult;else nodata”`?您可以执行以下操作:
{{documents}}或{{searchResult}无数据