角度ng-show在<div>空时仍然显示元素


元素。

当值为空时,如何隐藏/删除包含<div>元素:

<div class="small" ng-show="ID !== ''">{{ info.ID }} | </div>

呈现:

<div class="small">|</div>

如果<div>为空,我可以完全移除吗?我试过:

<div class="small" ng-show="!ID">{{ info.ID }}</div >

您正在检查ID属性的值,该值不是对象中的IDinfo因此请在ng-show中使用info.ID

<div class="small" ng-show="info.ID">{{ info.ID }} | </div>
<!-- -----------------------^^^^^^^----------------------->

如果您不想渲染元素本身,请使用ng-if指令ng-show因为该指令只是使用某些 CSS 隐藏。

<div class="small" ng-if="info.ID">{{ info.ID }} | </div>
<!-- ---------------------^^^^^^^----------------------->

如果您只想隐藏元素,请使用:

<div class="small" [hidden]="info?.ID">{{ info?.ID }}</div>

如果你想避免渲染它(在大多数情况下更好(,那么使用:

<div class="small" *ngIf="info?.ID">{{ info?.ID }}</div>

使用 Elvis 运算符,否则您可能会遇到此错误:

无法获取空 ID

最新更新