在第二次显示元素后,Angular2中的隐藏属性[隐藏]被触发



我在应用程序中使用[隐藏]属性来基于某个条件隐藏某些元素。场景是,我有一个div,可以显示结果,并且我有一个div,我在其中显示文本"无结果"。两个Divs都有条件[隐藏]属性。理想的情况是,当页面加载和结果来自服务器时,页面上不应显示"无结果"div,当没有服务器的结果时,应进行测试"无结果"。但是问题是,当页面加载时,从服务器加载结果需要一秒钟,在那一秒内显示了第二个DIV,上面写着"不结果"。每次我刷新页面时,都会发生这种情况。我想防止这种行为,即我想要一个干净的页面,并且数据来自服务器后,我想在页面上显示结果或"无结果"数据,但是现在我对如何实现这一目标感到困惑。有帮助吗?

而不是[hidden],更好的解决方案是将ngIfelse语法使用:

<div *ngIf="data |async; else elseBlock">Results</div>
<ng-template #elseBlock>No Results</ng-template>

最新更新