簡體   English   中英

如果未定義,則顯示空值

[英]Show empty value if undefined

我有角度組件從后端獲取值。

這是ts中的方法。

properties: PropertyDto[] = [];
    getProperties(event?: LazyLoadEvent): void {
        if (this.primengTableHelper.shouldResetPaging(event)) {
            this.paginator.changePage(0);
            return;
        }

        this.primengTableHelper.showLoadingIndicator();

        this._propertyService.getProperties(
            this.filterText,
                this.primengTableHelper.getSorting(this.dataTable),
                this.primengTableHelper.getMaxResultCount(this.paginator, event),
                this.primengTableHelper.getSkipCount(this.paginator, event)
        )
        .pipe(finalize(() => this.primengTableHelper.hideLoadingIndicator()))
        .subscribe(result => {
            this.primengTableHelper.totalRecordsCount = result.totalCount;
            this.primengTableHelper.records = result.items;
            this.primengTableHelper.hideLoadingIndicator();
        });
    }

結果中的某些值可以為null。

這是這些值的html部分

 <td>
    {{record.landlord.name}}
 </td>
 <td>
   {{record.agent.name}}
 </td>

我有錯誤

無法讀取未定義的屬性“名稱”

我如何只顯示空白字段並避免這些錯誤?

? 為安全綁定,試試這個:

{{record?.landlord?.name}}

更好。 record? 也可能是record.landlord? 取決於您的數據源,即如果記錄不是,則可以定義房東。

<td>
    {{record? record.landlord.name :''}}
</td>

<ng-container *ngIf="record; else elseTemplate">
              <td>
                {{record.landlord.name}}
              </td>
            </ng-container>
            <ng-template #elseTemplate>
              <td>
                &nbsp;
              </td>
            </ng-template>
<td>
    {{record.landlord? record.landlord.name :''}}
</td>

檢查landlord的價值。 如果它是通過JavaScript的truthy ,使用它。 否則使用空字符串

如果沒有記錄,您可以使用ng ifs顯示不同的內容:

<div *ngIf="record">
    <h1 *ngIf="record.landlord">{{record.landlord.name}}</h1>
    <h1 *ngIf="record.agent">{{record.agent.name}}</h1>
</div>

你可以在這里找到更多的信息/文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM