2016-11-02 7 views
0

での使用:NG2-翻訳私はNG2-翻訳テンプレート内のパラメータを使用しようとしたパラメータ

{{ test | translation:{value:param} }} 

をそして、それは完璧に動作します。私はtypescriptですで私の翻訳を構築したいと思い、私はこの関数を見た:

get(key: string|Array<string>, interpolateParams?: Object): Observable<string|Object> 

しかし、私はそれを使用する方法がわかりません。

あなたはどんな例がありますか?

私の場合は、次のとおりです。

en.json:

{ "test":"the level of {value1} and {value2} is low."} 

はtypescriptです:

let message:string = ""; 
let parametres = ["1", "2"]; 
this._translateService.get("test", parametres).subscribe((res:string) => { 
    message += res; 
}); 

私が持っていると思います:1と2のレベルは低いです。

ありがとうございます。

+0

実際に 'translation'パイプを使用していますか?それは '翻訳 'ではないでしょうか? – superjos

答えて

2

配列の代わりにパラメータとしてキー/値を指定すると機能します。

typescriptです:

let message:string = ""; 
let parametres = {value1: "1", value2: "2"}; 
this._translateService.get("test", parametres).subscribe((res:string) => { 
    message += res; 
}); 

また、ドキュメントによると、あなたは二重の中括弧でプレースホルダを宣言する必要があります。

en.json:en_US.jsonファイルで

{ "test": "the level of {{value1}} and {{value2}} is low." } 
+0

getによって返されたObservableがハングするかどうかも確認する必要があります。私の場合、翻訳は完全にロードされておらず、Observableは何も返さなかった。 –

+0

マップに入れようとしましたが動作しません。私はオブジェクトを直接試してみるつもりです。どうもありがとう。 –

2

、我々は数字で置き換えたい私たちのパラメータされる(xとyを含めるには、以下のフォーマットに従っ

{"Showing": "Showing {{x}} of {{y}}"} 
。 component.tsで

、最小、最大、我々は移入変数になります。

min: number; 
    max: number; 

と、次のCOMPONの一部となりますent.html

<span> {{ 'Showing' | translate:{x: min, y: max} }} </span> 
+1

が動作しません!、試してみましたか? – Hany

+1

@ Hanyこのコードに間違いはありません。それは動作します。 –

+1

@AJQarshi j Qは、次のエラーを表示します。_Uncaught Error:テンプレート解析エラー: パーサーエラー:期待されていません}式の末尾に[{{'XXXXXXX' |翻訳:{minValue:50、maxValue:100}}}] _ – Hany

関連する問題