2017-10-14 2 views
0

Ich entwickle einen Shop, der viele verschiedene Währungen unterstützt. Im Backend ist alles Geld in USD, die Währung wird auf der Client-Seite konvertiert, während die Seite auf der Benutzer-IP basiert.Konvertieren Geld Währung auf der Vorderseite mit angularJS

fragen, Im, wenn ich verwenden soll:

  1. Dienst zu sammeln Rate aktuelle Währung von zum Beispiel Google-Seite, den $http Anruf verwenden und nachdem alle Elemente angezeigt werden geladen, startet dann alle Preise Umwandlung bereits Benutzer einstellen Standardwährung sollte es nicht lange dauern.
  2. Benutzerdefinierte angularJS filter, aber es kann keine Währungsabfrage jedes Mal, wenn die Informationen über die Währung gesammelt werden müssen, bevor Filter zu arbeiten beginnen. Also muss ich irgendwie eine Funktion erstellen und ausführen, (service oder factory) und diesen Dienst vor dem Filterstart ausführen. Aber basierend auf this beantworten Sie den Service vor dem Filter.

Welcher Ansatz ist besser? Oder gibt es vielleicht eine bessere Möglichkeit, die Währung auf der Client-Seite zu konvertieren, die ich nicht kenne?

Antwort

1

Erstellen einer benutzerdefinierten filter ist besser, aber nicht so dynamisch. Also, es sei denn, Sie könnten dann einen separaten $http Service erstellen, der Ihre Preise von Google oder wo auch immer erhalten könnte, dann geben Sie ihn in Ihre filter. Also im Grunde ruft Ihr filter einen Dienst auf, der ihm seine Variablen für die Konvertierung gibt.

+0

Ja aber Service muss nur einmal ausgeführt werden, oder? Und die Antwort von '$ http' Aufruf muss in '$ rootScope' oder '$ localForage' gespeichert werden, die ich tatsächlich in diesem Projekt verwende, aber ich weiß nicht, welche schneller wäre, würde ich schließlich einige Tests darauf durchführen . – BT101

+0

Sie können ein Observable einstellen, um Ihren Dienst anzurufen, wenn sich die Gebühren ändern. Es wird also automatisch behandelt – tobie

Verwandte Themen