angular.js ng-repeat li элементы с содержимым html

У меня есть модель, которая возвращается с сервера, который содержит html вместо текста (например, тег ab или тег i)
когда я использую ng-repeat для создания списка из него, он показывает html как чистый текст, есть ли встроенный фильтр или директива, которые помещают html внутри элементов li или нет?
Я просмотрел документацию, но, поскольку я до сих пор очень к ней знаком, мне трудно найти ее.

нг-повторить:

  • JSFiddle:

    http://jsfiddle.net/gFFBa/1/

    Solutions Collecting From Web of "angular.js ng-repeat li элементы с содержимым html"

    Это похоже на ng-bind-html-unsafe="opt.text" :

     
    • {{ opt.text }}

    {{opt}}

    http://jsfiddle.net/gFFBa/3/

    Или вы можете определить функцию в области:

      $scope.getContent = function(obj){ return obj.value + " " + obj.text; } 

    И используйте его так:

     
  • {{ opt.value }}
  • http://jsfiddle.net/gFFBa/4/

    Обратите внимание, что вы не можете сделать это с помощью тега option : могу ли я использовать tags HTML в параметрах для отдельных элементов?

    Обратите внимание, что ng-bind-html-unsafe больше не поддерживается в rc 1.2. Вместо этого используйте ng-bind-html. См .: С удалением ng-bind-html-unsafe, как мне вставлять HTML?

    Вы можете использовать NGBindHTML или NGbindHtmlUnsafe, это не избавит вас от содержимого html вашей модели.

    http://jsfiddle.net/n9rQr/

     
    • {{ opt.text }}

    {{opt}}

    Это работает, в любом случае вы должны быть очень осторожны при использовании unsanitized содержимого html , вы должны действительно доверять источнику контента.

    использовать ng-bind-html-unsafe

    он будет применять html с текстом внутри, как показано ниже:

      
  • {{ opt.text }}
  • Если вы хотите, чтобы какой-то элемент содержал значение, являющееся HTML, взгляните на ngBindHtmlUnsafe .

    Если вы хотите изменить параметры стиля в нативном выборе, это невозможно.

    Вот директива из официальных примеров угловых документов v1.5, которая показывает, как скомпилировать html:

     .directive('compileHtml', function ($compile) { return function (scope, element, attrs) { scope.$watch( function(scope) { return scope.$eval(attrs.compileHtml); }, function(value) { element.html(value); $compile(element.contents())(scope); } ); }; }); 

    Применение:

     

    Он будет вставлять свойство item.htmlString как html в любое место, например

     
  • ng-bind-html-unsafe устарел из 1.2. Правильный ответ должен быть в настоящее время:

    HTML-сторона: (так же, как и принятый ответ):

     
    • {{ opt.text }}

    {{opt}}

    Но на стороне controllerа:

     myApp.controller('myCtrl', ['$scope', '$sce', function($scope, $sce) { // ... $scope.opts.map(function(opt) { opt = $sce.trustAsHtml(opt); }); }