Сегодня я попытался использовать Rails в качестве бэкэнда для предоставления данных формата JSON. AngularJS используется для обработки данных JSON на передней части. Когда AngularJs получает кусок текста HTML. Если вы используете Data-Ng-Bind напрямую, он избегается. Использование Data-NG-BIND-HTML может отменить побег.
Однако, если вы используете Data-ng-bind-html напрямую, вы пропустите ошибку
Кода -копия выглядит следующим образом:
Ошибка: [$ SCE: небезопасно] Попытка использовать небезопасное значение в безопасном контексте.
Фрагменты HTML должны быть помечены как доверие с использованием $ sce.trustashtml (html_in_string), прежде чем их можно будет развлечься с помощью data-ng-bind-html = "html_in_string".
Среди всех статей, которые я взял через API или через Angular, каждая статья имеет атрибут HTML_BODY, который представляет собой фрагмент HTML, представленную Markdown или Org.
После получения данных JSON через API используйте метод Angular.Foreach, предоставленный AngularJS, чтобы отметить HTML_BODY из каждого поста и сохранить результат в качестве доверенного тела, а затем используйте DATA-NG-BIND-HTML = "POST.Rustedbode" в HTML, чтобы отменить побег.
AngularJs Part
Кода -копия выглядит следующим образом:
Blog.controller ('postcontroller', function ($ scope, $ http, $ sce) {
$ scope.posts = [];
$ scope.syncposts = function () {
var запрос = $ http.get ('http:/localhost: 3000/posts.json');
request.success (function (response) {
$ scope.posts = angular.foreach (angular.fromjson (response), function (post) {
post.trustedbody = $ sce.trustashtml (post.html_body);
});
});
};
$ scope.syncposts ();
});
HTML Part
Кода -копия выглядит следующим образом:
<div Data-ng-bind-html = "post.trustedbody"> </div>