2016-08-13 3 views
1

Der folgende Code scheint nicht zu funktionieren. Ist es überhaupt in Angular 2 möglich?Definieren Sie den Eingabetyp dynamisch in HTML5 mit Angular 2

<table class="table table-responsive" style="border:0"> 
    <tr *ngFor="#column of columns" style="height:20px;"> 
     <td class="text-right" style="padding-top:10px;border:0"> 
      <h4> {{column | case}}: </h4> 
     </td> 
     <td class="text-center" style="padding-top:10px;border:0"> 
     <input type="{{column == 'created_date' ? date : text}}" class="form-control" /> 
     </td> 
    </tr> 
</table> 

Antwort

1

Sie scheinen einen Tippfehler für Stringfelder zu haben. Ändern Sie den Code dazu:

type="{{column == 'created_date' ? 'date' : 'text'}}" 

Da der Wert der type Variable eine Zeichenfolge sein sollte, müssen Sie Anführungszeichen um sie anders setzen, werden sie als eine Variable definiert in dem zugehörigen Umfang behandelt werden.

So wird die letzte Ausgabe sein:

<input type="{{column == 'created_date' ? 'date' : 'text'}}" class="form-control" /> 
+0

lol Ich bin so dumm !! Vielen Dank – user728630

1

Versuchen Sie folgendes:

<input type="{{column == 'created_date' ? 'date' : 'text'}}" class="form-control" /> 

Hinweis die Anführungszeichen um Datum und Uhrzeit

ohne Anführungszeichen, wird die date und time als Rahmen Variablen behandelt werden. Und ihr Wert (falls definiert) wird verwendet.

Verwandte Themen