Я думаю, что я пробовал все решения, представленные при переполнении стека, но не смог найти ответ.Угловая директива ng-bind-html не работает в некоторых случаях
Я использую угловую директиву 1.4.4 и ng-repeat, и я хочу отобразить комментарий HTML внутри строки таблицы. Образец комментарий «Тест комментарий»
<tbody ng-show="dataLoaded">
<tr ng-repeat="comment in comments | filter: commentFilter | commentFilter: customCommentFilter | limitTo: 10 : (currentPage*10-10)">
<td ng-bind-html="comment.Comment | html">
</td>
</tr>
</tbody>
Затем, в моем файле фильтра Я использую следующий фильтр:
// html filter (render text as html)
angular.module('app').filter('html', ['$sce', function ($sce) {
return function (text) {
return $sce.trustAsHtml(text);
};
Кроме того, она работает, когда я пишу что-то вроде
<td ng-bind-html="'<b>abc</b>' | html">
И наконец, когда я пишу что-то вроде
<td>
{{comment.Comment}}
</td>
Комментарий отображается в виде < б > испытания комментарий </б >
Кроме того, я добавил ngSanitize:
(function() {
'use strict';
var app = angular.module('app', [
// Angular modules
'ngCookies',
'ngRoute',
'ngAnimate',
'ngSanitize',
]);
...
...
})();
Мой вопрос, как я могу сделать нг-связывать-HTML работы в моем примере?
Я построил JSFiddle со столом, и он отлично работает без вашего пользовательского фильтра. Вы уверены, что включили ngSanitize в свои модули приложений? https://jsfiddle.net/3t4yyh7p/25/ –
Да. Добавлен NgSanitize. Я редактировал мой вопрос – Marek