2017-10-08 51 views
0

鏈接我有「身份證」和「名」的對象,我想是這樣的HTML插入空間轉換到每個元素

組別,類別2,類別3

我這個嘗試:

<span *ngFor="let category of categories; let isLast = last" class="categories"> 
    {{category.name}}{{isLast ? '' : ', '}} 
</span> 

但我得到這個:

Category1,Category2,Category3 

我需要做些什麼來獲得逗號後的空格?

+0

' ' '' - >'', '' –

+0

使用' '後',' –

+0

爲什麼不你只是連接字符串對象而不是渲染多個span元素? –

回答

1

你做相反你應該做的事情。你應該這樣做:

<span *ngFor="let category of categories; let isLast = last" class="categories" > 
    <span *ngIf="!isLast" [innerHTML]="category.name + ';&nbsp;'"></span> 
    <span *ngIf="isLast" [innerHTML]="category.name"></span> 
</span> 

或者你也可以做到這一點也:

<span *ngFor="let category of categories; let isLast = last" class="categories" > 
     <ng-template *ngIf="!isLast else elseForLast">{{category.name}};&nbsp;</ng-template> 
     <ng-template #elseForLast>{{category.name}}</ng-template> 
    </span> 
+0

這對我和解決了我的後續步驟,但循環ngFor以相反的順序創建值,所以我得到這個:'Cat1Cat2,Cat3',如果我使用(!isLast),我會得到'Cat1,Cat2Cat3' – Juanker

2

你正在做的正好相反,支票!isLast同時加入,

{{!isLast ? ',&nbsp;' : ''}} 

Plunker Demo

+0

編輯,但空間不起作用沒有  – Juanker

+0

@Juanker你檢查了活塞..它應該工作。如果你試圖添加多個空格,它會轉換爲'單個空間',同時呈現HTML –

+0

是的,我檢查了運行,但在我的代碼中它不起作用:( – Juanker