domingo, 3 de mayo de 2015

Angularjs - Convertir texto plano a HTML

Bueno, esto fue un dolor de cabeza, convertir datos que provenían de JSON y al volcarlos en la página porque los enlaces, llámese tag <a> solo se veían en texto puro, pero indagando y realizando pruebas logre solucionar de la siguiente manera:
<!-- incluir en la fuente del index.html -->
<script src="angular.min.js"></script>
<script src="angular-sanitize.min.js"></script>
 luego en tu archivo .js principal de la aplicación, generalmente llamado app.js inyectamos la sanitización de la siguiente manera:
var app = angular.module('App', ['ngSanitize']);
en tu controlador lo usas de la siguiente manera, pasas el sanitizador que usa la variable $sce y usas la función intrínseca trustAsHtml para convertir el código de texto plano a HTML
    app.controller('Ctrl', function ($sce) {
        $scope.trustAsHtml = function(value) {
            return $sce.trustAsHtml(value);
        };
    });

y luego lo usas en tu plantilla o directo a tu página así: creas un objeto div con el siguiente enlace ng-bind-html ="función trustAsHtml(variable)" y listo, debe quedar:
<div ng-bind-html="trustAsHtml(variable-en-json)"></div>
Sencillo, pero costó trabajo llegar ahí, espero sea de gran ayuda, es todo por hoy, cambio y fuera

No hay comentarios:

Publicar un comentario