web-dev-qa-db-ja.com

Angular 2-テンプレートの変数内に変数を表示する

私はAngular 2で非常に新しいので、別の変数の中に含まれる必要がある変数の文字列をテンプレートに表示したいと思います。私の問題の簡単な例を示します私が達成したいことは:


questionnaire.component.ts

/* Starts being "", populating an input text will modify this */
name = "Albert";

/* This variable comes from calling an API, here I just put it as created to simplify */
question.title = "Hello {{name}}, how old are you?";

questionnaire.template.html

<p>{{question.title}}</p>

私が得ている結果は次のとおりです。

{{name}}こんにちは、あなたは何歳ですか?

そして、私の望ましい結果は次のようになります:

こんにちはアルバート、あなたは何歳ですか?

DBに保存されている文字列の「{{}}」をエスケープしようとしました。中括弧の代わりにASCII文字を使用し、中に入れます[innerHTML]...しかし、結果は常に同じでした。

これをどのように解決できるか知っていますか?

どうもありがとうございました!

9
AMarquez94

{{}}は、Angularコンポーネントテンプレートでのみ動作し、任意の文字列では動作せず、DOMに動的に追加されたHTMLでも動作しません。

に変更するだけです

 question.title = `Hello ${this.name}, how old are you?`;

typeScript文字列補間を使用します。

19

Angular2では、thisキーワードを使用する必要があります

たとえば、$ {this.name}

1
G.Ashok Kumar