J'essaie d'insérer du HTML à l'intérieur du modèle en utilisant ng-bind-html-unsafe
attribut. Mais pour une raison quelconque, cela ne fonctionne pas.
Mon code:
<tr class="white two-button" ng-repeat="(key,value) in recommendations | ojoScoreFilter:ojoScore | relevancyScoreFilter:relevancyScore | orderBy:predicate:reverse">
<td>
<div ng-bind-html-unsafe="value.button"></div>
</td>
</tr>
Je ne peux pas voir le HTML. Si je change ng-bind-html-unsafe="value.button"
à ng-bind-html-unsafe="{{value.button}}"
alors il montre HTML mais dans l'attribut, quelque chose comme ceci:
<div ng-bind-html-unsafe="<a class="action_hrefs full-width bgcolor10 purple-hover flat-button flat-white-button btn" data-value="947" href="#"><i class="fa fa-lock"></i> Unlock</a>"></div>
Ok j'ai trouvé une solution pour ça:
JS:
$scope.renderHtml = function(html_code)
{
return $sce.trustAsHtml(html_code);
};
HTML:
<p ng-bind-html="renderHtml(value.button)"></p>
faire un filtre comme celui-ci
.filter('trusted',
function($sce) {
return function(ss) {
return $sce.trustAsHtml(ss)
};
}
)
et l'appliquer en tant que filtre au ng-bind-html comme
<div ng-bind-html="code | trusted">