2017-02-06 1 views
0

J'essaie donc d'utiliser le composant ng-bootstrap pour intégrer bootstrap sur mon application angulaire 2.Angular2: Chaîne d'échappement à l'intérieur d'un html attribué

Suite au tutoriel, j'ai créé une structure en accordéon pour afficher les articles que je récupère sur mon serveur.

Le modèle est comme ce

<ngb-accordion *ngFor="let article of articles"> 
    <ngb-panel title="{{ article.title }}"> 
    <template ngbPanelContent>{{ article.summary }}</template> 
    </ngb-panel> 
</ngb-accordion> 

Le problème réside dans le fait que article.title article.summary amd peut contenir des caractères HTML spéciaux comme

&quot; 

Alors, est-il un moyen de transformer cela en une seule citation (')? Toutes les solutions que j'ai trouvées jusqu'ici sont pour injecter du html dans un élément, ce qui n'est pas mon cas.

Toute information vous sera utile. Merci!

Répondre

1

Utilisation d'expressions régulières pour remplacer les caractères spéciaux avec une chaîne vide comme si

<ngb-accordion *ngFor="let article of articles"> 
    // Add this line, escape it so it won't terminate prematurely 
    // Note: no curly braces 
    <ngb-panel title="article.title.replace(/\"/g, '')"> 
    <template ngbPanelContent>{{ article.summary }}</template> 
    </ngb-panel> 
</ngb-accordion> 
+0

Désolé, ma question a été foiré. Je cherchais à sortir & quot; (moins le premier espace) :) Modifier maintenant – mitsest

+0

Donc, vous voulez décoder '"' de nouveau dans '" '? – Dummy

+0

Correct. Mais notez que je ne sais pas quels symboles apparaîtront (Les articles sont de un flux rss.) J'espérais qu'il y avait une façon standard de faire cela, comme c'est le cas pour les éléments avec la directive innerHTML (décrite ici http://lishman.io/angular-2-interpolation) – mitsest