Hoje, tentei usar o Rails como back -end para fornecer dados de formato JSON. AngularJS é usado para processar dados JSON no front end. Quando o AngularJS recebe um pedaço de texto HTML. Se você usar o Data-NG-Bind diretamente, ele será escapado. O uso de dados-ng-bind-html pode cancelar a fuga.
No entanto, se você usar o data-ng-bind-html diretamente, você solicitará um erro
A cópia do código é a seguinte:
Erro: [$ SCE: UNSAGEM] Tentando usar um valor inseguro em um contexto seguro.
Os fragmentos HTML precisam ser marcados como confiança usando $ sce.trustashtml (html_in_string) antes que possam ser inigualáveis usando o data-ng-bind-html = "html_in_string".
Entre todos os artigos que peguei através da API ou através do Angular, cada artigo possui um atributo html_body que é um fragmento HTML renderizado por Markdown ou Org.
Depois de obter dados JSON através da API, use o método Angular.ForEach fornecido pelo AngularJS para marcar o html_body de cada postagem e salvar o resultado como Trustedbody e, em seguida, usar dados-ng-bind-html = "post.trustedbody" em html para cancelar a fuga.
Parte angularJS
A cópia do código é a seguinte:
Blog.controller ('PostScontroller', função ($ scope, $ http, $ sce) {
$ scope.posts = [];
$ scope.syncposts = function () {
Var Request = $ http.get ('http:/localhost: 3000/posts.json');
request.success (function (resposta) {
$ SCOPE.POSTS = Angular.ForEach (Angular.Fromjson (resposta), função (post) {
post.trustedBody = $ sce.trustashtml (post.html_body);
});
});
};
$ SCOPE.SYNCPOSTS ();
});
Parte html
A cópia do código é a seguinte:
<div data-ng-bind-html = "post.trustedbody"> </div>