2017-08-12 47 views
1

我有一個模板如何在Angular2中寫入* ngIf作爲輸入佔位符?

<ng-container *ngFor="let text of texts[i]; let j = index">{{text}} 
    <input type="text"> 
     </ng-container> 

我也有一個數組myWords

myWords = ['orange', 'blue', 'green']; 

我怎麼能只在特殊情況下,插入這些話就像一個佔位符,但是,像

this.app-part 

我在我的應用程序中有3個部分,但我希望僅在第3部分有一個佔位符(來自myWords的文字),如果我有第一或第二部分 - 我不需要任何佔位符。

+0

您可以象其他任何屬性一樣綁定佔位符,然後在不需要的位置提供一個空字符串。但是,您只能擁有一個佔位符,但不清楚三個值的數組在哪裏適合。 – jonrsharpe

+2

這裏的某個部分是什麼意思? – Faisal

+0

@Faisal我的意思是,我有3個不同的部分,但他們都有這個組成部分 –

回答

0
<ng-container *ngFor="let text of texts[i]; let j = index">{{text}} 
    <input type="text" placeholder="{{variable}}"/> 
</ng-container> 

可以成爲你的答案...

+3

'[placeholder] =「變量」'會更傳統 – jonrsharpe

+0

這是如何回答這個問題的?它說如何有條件地切換佔位符值。 –

2

您可以使用the conditional operator ?: in JavaScript該屬性設置placeholder要麼值或空字符串。將佔位符設置爲空字符串應該與未爲大多數常見用例設置相同。

要訪問正確的佔位符值,您需要將index分配給本地模板變量j

<ng-container *ngFor="let text of texts[i]; let j = index"> 
    {{ text }} 
    <input type=text [placeholder]="condition ? myWords[j] : ''"> 
</ng-container>