У меня есть контроллер, который с помощью $ http извлекает некоторые данные, а затем сохраняет его в массиве $ scope.feeds. Теперь мой синтаксис нефрита -Загрузка динамической переменной, содержащей html из шаблона angularjs в jade
div(ng-repeat="post in feeds")
div.box.box-success
div.box-header
h3.box-title
i.fa.fa-user
| {{post.firstName}} {{post.lastName}}
div.pull-right
i.fa.fa-clock-o
//| {{(new Date(post.date)).toTimeString().split(":")[0]}} {{(new Date(post.date)).toTimeString().split(":")[1]}}, {{(new Date(post.date)).toDateString()}}
div.box-body
p.
{{post.message}}
Теперь на Google я обнаружил, что из-за соображения безопасности нефрит оленьей кожи позволяет прямой HTML здесь поэтому было предложено использовать что-то вроде -
p!= {{post.message}}
или
p.
#{post.message}
, но я получаю ошибку нефрита, говоря, что post.message не определен. Постскриптум Я могу видеть строку типа - ass<b>sada</b>
, отображая {{post.message}}, поэтому post.message не определен. Итак, может ли кто-нибудь сказать мне, как добавить html-содержимое в этот абзац абзаца. Пожалуйста, обратите внимание, что образец моего кода контроллера, как это -
angular.module('student').controller('StudentDashBoardController', function($rootScope, $scope,$http,$location,mvNotifier) {
$scope.feeds = [];
var obj = { "message" : "asdsd<b>asd</b>","firstName":"test","lastName":"test" ,"username" : "[email protected]", "dislikes" : [ ], "likes" : [ ], "tags" : [ ], "comments" : [ ], "views" : 1, "date" : "2014-12-18T19:08:44Z", "__v" : 0 };
$scope.feeds.push(obj);
});
Я также попытался добавить это в коде контроллера -
$scope.decode = function(textData){
var textarea=document.createElement("textarea");
textarea.innerHTML = textData;
return textarea.textContent;
};
$scope.to_trusted = function(html_code) {
return $sce.trustAsHtml(html_code);
}
и нефритовая часть обновлена -
p(ng-bind-html="{{to_trusted(decode(post.message))}}")
, который не обнаруживает ошибки в отладчике хрома и показывает это в контрольном элементе -
<p ng-bind-html="asdsd<b>asd</b>"></p>
любые предложения, в которых я могу ошибиться?
контроллер просто чтобы показать, что я делаю, фактические фиды массив исходит из MongoDB только с сервера и да у меня есть функцию для преобразования всех < и т. д. в соответствующие символы. –
@HarshitLaddha Хорошо, но это массив фидов, заполненный сервером во время рендеринга представления или он заполняется в api и получен с использованием чего-то вроде $ resource? – Vadim
и спасибо за очистку путаницы от нефрита и углового –