javascript - rusia - goles de españa vs marruecos
Cómo imprimir cadena html como html (3)
Antes de usar la directiva ng-bind-html debe incluir el servicio $ sanitize o arrojará un error.
Error: $ sce: inseguro Requiere un valor seguro / confiable Intentar utilizar un valor inseguro en un contexto seguro.
Error: [$sce:unsafe] http://errors.angularjs.org/1.4.5/$sce/unsafe
at Error (native)
La manera correcta:
<script src="angular.js"></script>
<script src="angular-sanitize.js"></script>
var myApp = angular.module(''app'', [''ngSanitize'']);
myApp.controller(''MyController'', [''$scope'', function($scope) {
$scope.myHTML = ''<a href="#">Hello, World!</a>'';
}]);
<div ng-controller="MyController">
<p ng-bind-html="myHTML"></p>
</div>
Si solo por ejemplo hago:
var = "<a>Asd</a>";
<span>{{ var }}</span>
La cadena se imprime como texto y no como html, entonces, ¿cómo imprimo el html?
Debería usar la directiva ng-bind-html
.
Crea un enlace que hará que hTML el resultado de evaluar la expresión en el elemento actual de una manera segura.
<ANY ng-bind-html="{expression}">
...
</ANY>
También puedes probar algo como eso:
app.filter(''to_trusted'', [''$sce'', function($sce) { return function(text) { return $sce.trustAsHtml(text); }; }]);
y luego, a la vista:
ng-bind-html=" myHTML | to_trusted"