Angulaire 2 - ngfor sans emballage dans un conteneur
Je souhaite avoir un élément ul et puis dans mon json j'ai html contenant la liste (li) les éléments provenant de divers sites de médias sociaux.. quand j'ai mis ngfor sur les éléments de la liste est crée plusieurs ul pour chaque sortie json dossiers.. est-il possible de juste à la sortie de la li en tant que html et non pas de les encapsuler dans un élément
petit échantillon de mon json
{
"courses": [{
"tile_id": 0,
"tile_content": "<li class=\"grid-item horiz-double blog-tile\" data-item-id=\"0\">yrdy<\/li>"
}],
}
petit échantillon de mes angulaire de service - cela fonctionne parfaitement et les sorties de l'json, mais peut-être im manque une sorte de paramètre de mise en forme
public getCourses() {
this._http.get(this.apiUrl).map(response => response.json()).subscribe(data => {
//console.log( data.courses );
this._dataStore.courses = data.courses;
//console.log(this._coursesObserverXX);
this._coursesObserverXX.next(this._dataStore.courses);
}, error => console.log('Could not load courses.'));
}
et mon html
<ul class="list-group" *ngFor="#course of courses | async">
{{ course.tile_content }}
</ul>
le but est de ne pas avoir le ngfor sortie d'un wrapper et aussi pour afficher le résultat au format html plutôt qu'en texte brut tel qu'il apparaît à sortir
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
outerHTML
Plunker exemple
*ngFor
à la<li>
élément. Maintenant, il produit attendu HTML.<li>
qui ne sont pas emballés avec<ul>
Dans certains cas,
<ng-container>
peut être utile. Comme (pas pour cette question):Dans les DOM, son contenu est rendu comme d'habitude, mais la balise est lui-même rendu qu'un commentaire HTML.
De la documentation:
Pas sûr de comprendre ce que vous voulez /essayer de le faire, mais vous pouvez faire quelque chose comme ceci:
Noter que la syntaxe étendue pourrait également être utilisé:
(la balise de modèle ne sera pas ajouté dans le code HTML)
Modifier
Cela fonctionne:
Voir ce plunkr: https://plnkr.co/edit/VJWV9Kfh15O4KO8NLNP3?p=preview
innerHTML
l'attribut est possible au niveau de la ngFor 😉 j'ai mis à jour ma réponse...<template ngFor [ngForOf]="socialwall | async" #social > {{ social.tile_content }} </template>
, }) mais ce n'est pas simple html aucune idée de comment je travail à ce niveauinnerHTML
attribut que vous devriez utiliser. Il vous permettra d'afficher le code HTML...