2016-11-11 5 views
1

Ich verwende eine Angular 1.5-Komponente und versuchen, eine Angular Translate mit Parametern zu tun. Hier ist mein Markup:Angular Translate Parameter mit Controller als Syntax

Die Nachricht übersetzt, außer es füllt nicht die Parameter. Ich habe überprüft, dass $ ctrl.minFormatted einen Wert hat, indem es direkt über der Übersetzung angezeigt wird.

In der Vergangenheit, als ich einen Standard-Winkelregler verwendet habe, habe ich $ scope.minFormatted verwendet. Dies funktioniert jedoch nicht, da ich den Controller als Syntax verwenden

Antwort

2

wie in der Dokumentation (https://angular-translate.github.io/docs/#/guide/06_variable-replacement) geschrieben, würde ihre beste Praxis für die Verwendung von Variablen in der Transalate-Filter eine Variablen Wert an den Filter aus dem Bereich übergeben . Zum Beispiel:

<div ng-message="dateRange" class="error-message">{{'invalidRange' | translate:$ctrl.translationValues}}</div> 

definieren den Wert in der Steuerung:

$scope.trasnlationValues = { "start": $ctrl.minFormatted, "end": $ctrl.maxFormatted}; 

ein besserer Weg (Weg und lesbare) die Erreichung der gleichen übersetzen-Richtlinie würde werden. zum Beispiel:

<div ng-message="dateRange" class="error-message" **translate**="invalidRange" **translate**-values='{ start: $ctrl.minFormatted, end: $ctrl.maxFormatted}'></div> 

würden Sie empfehlen ihre Dokumentation

, um weitere Informationen zu erkunden
Verwandte Themen