Bindings Berechnete Eigenschaft in Ember TextField

8

Ich versuche, mein Datenmodell an das Textfeld in Ember.js zu binden. Das Modell hat ein Feld, das einen Währungswert darstellt (z. B. 1000,50 US-Dollar). Der Benutzer kann diesen Wert dann ändern.

Ember empfängt die Daten als Zahl (1000.50) - nicht als Währung formatiert. Ich verbinde die Ansicht mit einer berechneten Eigenschaft, die das schöne Format hat. Hier ist meine Lenkervorlage.

%Vor%

Mein Modell sieht so aus:

%Vor%

Das Problem ist, wenn der Benutzer die Menge im Eingabefeld ändert, wird die zugrundeliegende Eigenschaft 'amount' in meinem Modell nicht aktualisiert. Ich nehme an, weil sie an die berechnete Eigenschaft gebunden ist.

Was ist die richtige Methode, um die Eingaben des Benutzers zu übernehmen, zu analysieren und gegebenenfalls zu validieren und in der Eigenschaft 'amount' zu speichern? Sollte ich Bindungen / Beobachter zwischen den beiden Eigenschaften verwenden? Wie würde das funktionieren?

Letztendlich ist die Eigenschaft 'amount', was auf der Serverseite erhalten bleibt. Ich betrachte die berechnete Eigenschaft nur als Ort für die Formatierung der Benutzeroberfläche. Normalerweise würde ich einen Handle-Helfer für diese Art der Formatierung verwenden, aber Sie können die ValueBinding-Funktion des TextField nicht mit den Ergebnissen eines Handlebars-Helfers kombinieren.

Vielen Dank im Voraus für Ihre Hilfe! Andrew

    
anschoewe 28.06.2013, 21:49
quelle

1 Antwort

7

Die Funktion für die berechnete Eigenschaft amountFmt fungiert je nach Kontext als Getter und Setter. Die Signatur lautet amountFmt(key, [value]) . Der Wert ist optional und wird nur übergeben, wenn der Wert geändert werden soll.

%Vor%     
Darshan Sawardekar 29.06.2013, 03:51
quelle

Tags und Links