accordéon avec ng-repeat et ng-bind-html ne fonctionne pas
Je suis en train d'utiliser de l'accordéon et du contenu html de cette façon:
<accordion>
<accordion-group ng-repeat="item in items">
<accordion-heading>
<a class="btn btn-primary btn-block btn-elenco">
<img postsrc="img/flag/flag_{{item.index}}.jpg">
</a>
</accordion-heading>
<p ng-bind-html="item.content"></p>
</accordion-group>
</accordion>
ET
var items = [];
for(var i=0;i<10;i++){
var content = "<div>TEST</div>";
items.push({index:i,content:content});
}
$scope.items = items;
var app = angular.module('MyApp',['ngSanitize','ui.bootstrap']);
Accordéon fonctionne, mais le html n'est pas rendu dans la balise p.
Quel pourrait être le problème?
MODIFIER
Si je tente quelque chose comme:
<div ng-bind-html="to_trusted(item.content)"></div>
Et ajouter de la fonction de contrôleur:
$scope.to_trusted = function(html_code)
{
console.log(html_code);
return $sce.trustAsHtml(html_code);
}
Rien ne change et dans la console je reçois beaucoup de "undefined"!
Vous devez vous connecter pour publier un commentaire.
C'est parce que le contenu HTML est déclaré dangereux par Angulaire en raison de sa Stricte Contextuelle S'Échapper.
De l'autre AFIN de répondre à déjà explique clairement comment cela peut être résolu: HTML injection, c'est si vous êtes en utilisant Angulaire de la version 1.2.0 ou vers le haut.
J'ai créé un Plunkr pour correspondre à votre cas.