2017-11-17 5 views
0

Mein Ziel ist es, ein Eingabefeld haben, mit dem der Benutzer eine Zahl als Währung bearbeiten kann. Z.B. Der Benutzer sieht "$ 1.000", sie können eine '0' eingeben, und das Bearbeitungsfeld zeigt "$ 10.000". Und das resultierende Datenmodell ist eine Zahl 10000.So erhalten Sie eine Eingabe zum Anzeigen und Bearbeiten von Währung mit eckigen 4 Rohre

<input type="text" name="Data" [ngModel]="Data | currency:'USD':true:'4.0-0'" (ngModelChange)="Data=$event" > 

Der oben genannte Displays in dem Eingabefeld ‚$ 1.000‘, aber wenn ich den Wert in dem Eingabefeld bearbeiten, der Wert ist nicht mehr eine Nummer 1000, ist es eine Zeichenkette "$ 1.000". Bedeutung meine Datenmodell ging von

{ myCost: 1000 } 

zu werden

{ myCost: "$1,000" } 

Irgendwelche Ideen auf dem richtigen Weg, dies zu tun? Es sieht so aus, als müsste ich eine neue Funktion erstellen, um von einer Währung zurück in eine Zahl zu konvertieren. Was möglich ist, aber es scheint, als gäbe es einen besseren Weg.

Antwort

0

Sie können ngModelChange in Ihrer Komponentenklasse (ngModelChange)="onInputValueChange($event)"

In component.ts
onInputValueChange(newValue: any):Number { return <Number>newValue; }

+0

Ya, Griff sieht aus wie das der einzige Weg ist. Bummed, weil das Hinzufügen von Komponentenlogik bedeutet. Und sieht ein wenig doof aus, weil ich das ausweiten möchte, um mit Währungen, Daten und all den anderen Standard-Pfeifen umzugehen. –

Verwandte Themen