2017-02-23 28 views
0

誰かがサービスを介してダウンロードしたJSONファイルを持っていると翻訳角度2翻訳JSONは

ためのパイプから、それを使用する方法を示すことplnkr投稿は動作しませんが、それだけで私はとして、1つの変換のために働きますこのコードで何が間違っているのかを誰かが指摘できるかどうかを尋ねています。

https://plnkr.co/edit/VMqCvX(私はフォークできますが、それは保存しません:-()

私は別の言葉を翻訳し、別の言い換えを加えて、最後のものだけを翻訳します。

アプリ/国際化/ localizable.it.strings

{ 
    "home.nav.calendar": "Calendar" 
    "home.nav.test": "Test" 
} 

アプリ/ app.component.ts

<span>{{'home.nav.calendar' | translate}}</span> 
<span>{{'home.nav.test' | translate}}</span> 

plzは、私がどこかわからない

おかげ

答えて

0

を助けますあなたはこの例を得ていますが、私はそこに必要と思われないものを見ています。 Observableが存在する必要はありません(ストリーム内の最後のアイテムのみが再生されます)。私はplunkrをフォーク:

transform(value: string, args: string[]) : any { 
console.log("transform", value); 
// this.translationLoadedSub = this._translation.translationLoaded.subscribe((data) => { 
// console.log("transform", value); 
// this.value = this._translation.getTranslationByKey(value); 
// this._ref.markForCheck(); 
// this.loaded = true; 
// }); 

this.loaded = true; 

https://plnkr.co/edit/t3pkj02cVBHPyjTTdXop?p=preview

この1作品。

0

Observableは、サブスクライブ可能なのは、サブスクライブする最後の値だけです。これは、オブザーバが矛盾の間で共有されていないためです。データはそのようにロードされたときには、彼らはすべて知っているように、サブスクリプションの中で自分自身を共有するためにオブザーバーを変更することができます。

this.translationLoaded = Observable.create((observer) => { 
    this.translationLoadedObserver = observer; 
}).share(); 

Demo

関連する問題