Valider le html dans AngularJs

Le par Frédéric Escarieu / Permalien : / astuces

Sous AngularJS pour pouvoir afficher du html provenant d'une variable, il faut le marquer comme "trusted", sinon il ne l'affiche pas.

Ce n'est pas la première fois que je rencontrais ce soucis, que j'avais toujours plus ou moins contourné.

J'ai trouvé plusieurs solutions sur StackOverflow, et comme souvent j'ai utilisé une des plus simples.

Dans mon controller parent de tout les autres controllers, j'ai ajouté la fonction :

$scope.to_trusted = function(html_code) {
  return $sce.trustAsHtml(html_code);
}

A noter qu'il faut instancier le service $sce dans ce controller.

et du coup dans ma vue, j'ai pu utiliser

<div ng-bind-html="to_trusted(invoice.form_be2bill)"></div>

angularjs html

Frédéric Escarieu alias Kie

Web Developper - Co-founder KipSoft

#webdev #sysadmin #javascript #php #ruby

Passionné de rugby, amateur de velo.

/