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}无数据