2017-10-14 5 views
0

多くの異なる通貨をサポートする開発仲間です。バックエンドではすべての金額が米ドルになります。ユーザーのIPに基づくページを表示しながら、クライアント側ではカレリーが変換されます。私が使用する必要がある場合angularJSで前面に通貨を換算する

イムは思って:その後、ロード例えばGoogleのページから、すべての項目が表示された後、現在の通貨レートを収集するために$httpコールを使用します

  1. サービスは、すでにユーザーを設定するために、すべての価格を変換を開始しますデフォルトの通貨であれば、それは長くかかりません。
  2. カスタムangleJS filterでも、フィルタの開始前に通貨に関する情報を収集する必要があるたびに、通貨要求を呼び出すことはできません。だからとにかく私はいくつかの関数(serviceまたはfactory)を作成して実行しなければならず、フィルタを仕事に使う前にこのサービスを実行する必要があります。しかし、フィルタの前にthisアンサーサービスが実行されます。

このアプローチのどちらが優れていますか?それとも、私が知らないクライアント側の通貨を変換する良い方法がありますか?

答えて

1

カスタム作成filterは動的ではありませんが、より良いです。だから、別の$httpサービスを作成してGoogleから料金を得ることができない限り、それをあなたのfilterに渡してください。基本的には、filterは変換のための変数を与えるサービスを呼び出します。

+0

はい、サービスは1回のみ実行する必要がありますか? '$ http'コールの応答は、例えば' $ rootScope'や '$ localForage'に格納しなければなりませんが、実際にこのプロジェクトで使っているのはどちらですか? 。 – BT101

+0

レートの変更がある場合はいつでも、オブザーバブルを設定してサービスを呼び出すことができます。それで自動的に処理されます – tobie