web-dev-qa-db-fra.com

Angular 2 - Afficher la variable à l'intérieur d'une variable dans un modèle

Je suis assez nouveau dans Angular 2, et je veux afficher dans mon modèle une chaîne dans une variable qui doit contenir à l'intérieur d'une autre variable. Je vais vous montrer un exemple simplifié de ce que mon problème est et ce que je veux réaliser:


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>

Le résultat que j'obtiens est:

Bonjour {{name}}, quel âge avez-vous?

et mon résultat souhaité serait:

Bonjour Albert, quel âge as-tu?

J'ai essayé d'échapper au "{{}}" dans la chaîne stockée sur ma base de données, j'ai utilisé le caractère ASCII au lieu des accolades, mettez-le à l'intérieur [innerHTML] ... mais le résultat était toujours le même.

Savez-vous comment résoudre ce problème?

Merci beaucoup!

9
AMarquez94

{{}} ne fonctionne que dans Angular et non dans des chaînes arbitraires et également pas en HTML ajouté dynamiquement au DOM.

Changez-le simplement en

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

pour utiliser l'interpolation de chaîne TypeScript.

19
Günter Zöchbauer

Dans angular2, vous devez utiliser this mot-clé

Par exemple, $ {this.name}

1
G.Ashok Kumar