现在我有了变量:
serachResult = [];
在temaplte内部检查:
<div *ngIf="serachResult.length == 0">No data</div>
仅当出现搜索响应时,才会填充数组serachResult
。
问题是消息No data
总是显示,如果用户不提出搜索请求,则会显示在这里
答案 0 :(得分:0)
searchResult
初始化为空数组,因此即使在发出搜索请求之前,条件*ngIf="serachResult.length == 0"
也会解析为true。这就是即使用户不发出搜索请求也显示No Data
的原因。
您可以创建另一个变量isDisplaySearchResult = false
,并在用户提出搜索请求后将其设置为true。
您的模板代码将作如下更改-
<div *ngIf="isDisplaySearchResult && serachResult.length == 0">No data</div>
答案 1 :(得分:0)
定义另一个用于显示搜索结果的变量,并将其值设置为false
:
showResult: boolean = false;
当用户搜索结果可用时,将showResult
的值更改为true
然后在您的html中检查showResult
是否正确,然后检查serachResult.length
;
<div *ngIf="showResult && serachResult.length == 0">No data</div>