2017-08-12 1 views
1

Ich habe eine VorlageWie schreibe ich * ngIf für Eingabe-Platzhalter in Angular2?

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

Ich habe auch ein Array myWords

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

Wie ich diese Worte wie ein Platzhalter einfügen könnte, aber nur in Sonderfall, wie

this.app-part 

Ich habe 3 Teile in meiner App, aber ich hätte gerne einen Platzhalter (Wörter von myWords) nur im 3. Teil, und wenn ich habe 1. oder 2. Teil - ich brauche dort keinen Platzhalter.

+0

Sie können Platzhalter wie jedes andere Attribut binden, dann geben Sie einfach eine leere Zeichenfolge an, wenn Sie keine möchten. Aber Sie können nur einen einzigen Platzhalter haben, es ist nicht klar, wo das Array von drei Werten passt. – jonrsharpe

+2

Was meinen Sie mit einem Teil hier? – Faisal

+0

@Faisal Ich meine, ich habe 3 verschiedene Teile, aber sie haben alle diese Komponente –

Antwort

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

können Sie Ihre Antwort ...

+3

'[placeholder] =" variable "' wäre konventioneller – jonrsharpe

+0

Wie beantwortet das die Frage? Es wird beschrieben, wie der Platzhalterwert bedingt umgeschaltet wird. –

2

Sie können the conditional operator ?: in JavaScript sein verwenden Sie das Attribut placeholder entweder auf einen Wert oder auf einen leeren String gesetzt. Wenn Sie den Platzhalter auf eine leere Zeichenfolge setzen, sollte dies so aussehen, als wäre er nicht für die häufigsten Anwendungsfälle festgelegt.

Um auf den richtigen Platzhalterwert zuzugreifen, müssen Sie index einer lokalen Vorlagenvariablen j zuweisen.

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