2016-08-12 3 views
0

У меня есть массив объектов JSON, загруженный из базы данных. В каждом объекте есть определенный ключ, который содержит содержание html.Печать данных html, загруженных из базы данных в угловых js

Я хочу отобразить это содержимое в моем представлении по всем этим вещам. Я использовал ng-html-bind, для этого у меня была $sce зависимость в моем контроллере. Если я поставил строку там, как <h1>Trusted html</h1>, она работает. Но не для моего содержания.

Что я действительно хочу, если я помещаю это содержимое, как $scope.htmlContent = $sce.trustAsHtml(data.content);, он должен работать и петлять все эти по одному в моем представлении, где они принадлежат. Но это не работает.

Я также сделал еще один массив, нажал все эти материалы содержания, но когда я передаю их через $sce.trustAsHtml(trustMe);, что-то пойдет не так.

----------------------------------- EDIT ---------- -------------------------------

это мои объекты:

[Object, Object, Object, Object, Object, Object, Object, Object, Object] 

: 
Object 
8 
: 
Object 
$$hashKey 
: 
"object:22" 
content 
: 
"<h2>Test data.</h2> 
↵" 
created_at 
: 
"2016-08-12 14:12:35" 
id 
: 
9 
name 
: 
"Test" 
points 
: 
4 
semester 
: 
"Eagle Nest" 
semester_id 
: 
6 
status 
: 
0 
subject 
: 
"Android" 
subject_id 
: 
6 
updated_at 
: 
"2016-08-12 14:12:35" 
user_id 
: 
1 
__proto__ 
: 

Мой Посмотреть

<div class="panel panel-default" ng-repeat="quiz in quizzes"> 
       <div class="panel-body"> 
       @ quiz.semester @ <span class="pull-right">Subject: @ quiz.subject @ </span> 
       <hr class="blur-line"> 
       <p class="list-group-item-text list-item"> 
       <i class="fa fa-long-arrow-right"></i> @ quiz.name @ 
       </p> 
       <p class="details" ng-bind-html="MytrustedHtml"></p> 

       </div> 
      </div> 

контроллер

$scope.MytrustedHtml = $sce.trustAsHtml(data.content); 
+2

какой-либо причине, почему вы не используете 'нг-repeat' на ваши вопросы? вот пример того, как я обычно это делаю: https://jsfiddle.net/ahmadabdul3/hp8sbzwf/25/ –

+0

вы могли бы поделиться кодом? Jsfiddle будет потрясающе –

+0

Является ли это массивом объектов JSON или массивом объектов? Кроме того, ng-html-bind не существует, ng-bind-html делает. – mguimard

ответ

0

Фильтр может быть лучшим способом управления этим.

.filter('rawHtml', ["$sce", function($sce) { 
    return function(input) { 
     return $sce.trustAsHtml(input); 
    }; 
}]); 

И в разметке

<p ng-bind-html="MytrustedHtml | rawHtml"></p> 
+0

Спасибо. Это сработало. –

 Смежные вопросы

  • Нет связанных вопросов^_^