Угловая директива ng-bind-html в некоторых случаях не работает

Я думаю, что перепробовал все решения, представленные при переполнении стека, но не нашел ответа.

Я использую директиву angular 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>

Комментарий отображается как ‹b›Проверить комментарий‹/b›.

Кроме того, я добавил ngSanitize:

(function () {
    'use strict';

    var app = angular.module('app', [
        // Angular modules 
        'ngCookies',
        'ngRoute',
        'ngAnimate',                    
        'ngSanitize',                    
    ]);
    ...
    ...
})();

Мой вопрос: как я могу заставить ng-bind-html работать в моем примере?


person Marek    schedule 18.04.2016    source источник
comment
Я создал JSFiddle с таблицей, и он отлично работает без вашего пользовательского фильтра. Вы уверены, что включили ngSanitize в свои модули приложения? jsfiddle.net/3t4yyh7p/25   -  person ohboy21    schedule 18.04.2016
comment
Да. Добавлен NgSanitize. я отредактировал свой вопрос   -  person Marek    schedule 20.04.2016