Hoy, intenté usar rieles como backend para proporcionar datos de formato JSON. AngularJS se utiliza para procesar los datos JSON en la parte delantera. Cuando Angularjs recibe un pedazo de texto HTML. Si usa Data-NG-Bind directamente, se escapa. El uso de datos-ng-bind-html puede cancelar el escape.
Sin embargo, si usa Data-NG-Bind-HTML directamente, solicitará un error
La copia del código es la siguiente:
Error: [$ SCE: inseguro] intentando usar un valor inseguro en un contexto seguro.
Los fragmentos HTML deben marcarse como fideicomiso utilizando $ sce.trustashtml (html_in_string) antes de que puedan ser inesperados usando data-ng-bind-html = "html_in_string".
Entre todos los artículos que tomé a través de la API o a través de Angular, cada artículo tiene un atributo HTML_Body que es un fragmento HTML representado por Markdown o org.
Después de obtener datos de JSON a través de la API, use el método Angular.ForEach proporcionado por AngularJS para marcar el HTML_Body de cada publicación y guarde el resultado como cuerpo de confianza, y luego use datos-ng-bind-html = "post.trustedbody" en HTML para cancelar el escape.
Parte de angularjs
La copia del código es la siguiente:
Blog.Controller ('PostsController', function ($ scope, $ http, $ sce) {
$ scope.posts = [];
$ scope.syncposts = function () {
solicitud var = $ http.get ('http:/localhost: 3000/posts.json');
request.success (function (respuesta) {
$ Scope.posts = Angular.Foreach (Angular.FromJson (respuesta), función (post) {
post.trustedbody = $ sce.trustashtml (post.html_body);
});
});
};
$ scope.syncposts ();
});
Parte html
La copia del código es la siguiente:
<div data-ng-bind-html = "post.trustedbody"> </div>