2016-02-11 2 views
5

Ich verwende einen if/else-Ausdruck und eine Übersetzung der möglichen Werte innerhalb des Platzhalter-Tags eines HTML-Eingabeelements. Es funktioniert offensichtlich nicht auf diese Weise, weil die verschachtelten doppelten Anführungszeichen in dem Platzhalter-tag:Wie kombiniere ich einen if/else-Ausdruck mit eckigem translate innerhalb eines Attributs?

<input type="number" 
     placeholder="{{constraint ? '{{"TERM_A" | translate}}' : '{{"TERM_B" | translate}}'}}" 
     ng-model="" 
     required 
     autocapitalize="none" 
     autocorrect="off" /> 

Wie kann ich die einzelne/doppelten Anführungszeichen entsprechend eingestellt oder gibt es noch eine elegantere Lösung?

+12

Ich bin mir nicht sicher, aber Sie könnten '{{Constraint?" TERM_A ":" TERM_B ") | translate}} ' – floribon

+0

Ja, das funktioniert: ' placeholder = "{{constraint? 'TERM_A': 'TERM_B') | translate}}", danke! – Felix

Antwort

0

Richtige Art und Weise:

<input type="number" 
       placeholder="{{ (constraint ? 'TERM_A' : 'TERM_B') | translate }}" 
       ng-model="" 
       required 
       autocapitalize="none" 
       autocorrect="off" /> 

Ein weiteres Beispiel:

  label="{{ (detailsTriggered ? 'ui.showDetails' : 'ui.hideDetails') | translate}}" 

Hüten Sie sich vor "[]" Klammern, Arten von Anführungszeichen und Apostrophe.

Verwandte Themen