2017-04-18 4 views
0

テンプレートにバインドされた変数そのものが親変数とは異なるパラメータによって制御される変数値を持つ特定の状況を処理する方法を工夫しています。ここで私が何を意味するかの例です:Angular2でバインディングを含むテキストを動的に処理する

テンプレート:

<spell> 
    <em>Description: </em> {{ description }} 
</spell> 

例の説明:

This spell deals {{ val1 }} damage and heals for {{ val2 }} health. 
This spell grants {{ val1 }} additional armor. 

変数値:

[[30, 40, 50, 60, 70], [10, 20, 30, 40, 50]] 
[[10, 20, 30, 40, 50]] 

説明がのIDによって決定されますその呪文のレベルに依存します。

私の検索から、私はこの質問に対する答えが私が探していたものだと思ったが、それは動的に使用されるテンプレートごとにコンポーネントが必要なようだ。これは本当に私がやっていることのための正しい解決策ですか、私は代替策がないのですか?

How can I use/create dynamic template to compile dynamic Component with Angular 2.0?

+0

はい、動的テンプレートごとにコンポーネントが必要です。 –

+0

Thats ...問題:(そのような何千もの記述を処理する必要があります。 – Acaeris

+0

おそらく、それらをDOMに追加する前に、TS内の '{{}} 'を解決したいと思っています。 –

答えて

0

、実行引数で関数を実行し、すでに角度にバインドするために、結果を使用するために機能するかを調べるために、ログイン/マップを持っている、すべての記述のための関数を作成します。

let fn = (val1, val2) => 
    `This spell deals ${val1} damage and heals for ${val2} health.`; 
let result = fn(5, 6); 
+0

残念ながら、説明はそのままです。 (実際の呪文数は約600個だが、呪文の複数のバージョンがあり、それを考慮する必要がある)、そのためにフォーマットを変更したり、それらの機能を作成することは実際には不可能である。ありがとう、限られた数の変数スロットがあり、常に "val1" - > "val10"というラベルが付けられています。 – Acaeris

+0

はい、これらの文字列をAngularとは別に処理する必要があります。ファイルをロードして、これらの説明機能を動的に作成することができます。 –

関連する問題