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!
{{}}
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.
Dans angular2, vous devez utiliser this mot-clé
Par exemple, $ {this.name}