Как использовать ngOptions со строкой, содержащей объекты HTML?

Я использую ngOptions для создания меню выбора, но один из моих меток имеет объект HTML в нем & , Наклейка отображается как Books & Stuff Books & Stuff не Books & Stuff . Мой нефрит:

 select(ng-show="isType === 'select'", id="{{id}}", ng-model="model", ng-options="o.id as o.label for o in options") 

Как я могу правильно отображать объекты HTML?


Обновить

Я пытаюсь ответить салом:

 select(ng-show="isType === 'select'", id="{{id}}", ng-model="model") option(ng-repeat="o in options", ng-bind-html="o.label", value="{{o.id}}") 

Это отображает правильный объект html, но правильный вариант больше не выбран на основе модели. Например, см. Http://jsfiddle.net/ucLvjvkn/1/ .

    Способ, которым вы можете решить это, – использовать ng-repeat вместе с ng-bind-html (включенным в ngSanitize ) вместо ng-options . Вот рабочий пример

     var app = angular.module('app', ['ngSanitize']); 

      

    JSFiddle Link – рабочая демонстрация

    Кроме того, если вы должны использовать ng-options используйте следующую вспомогательную функцию для декодирования ваших значений перед привязкой

     function htmlDecode(input) { var e = document.createElement('div'); e.innerHTML = input; return e.childNodes[0].nodeValue; } 

    JSFiddle Link – демонстрация ng-options

    Основываясь на других ответах, вы можете сделать это с помощью фильтра и получить преимущество от продолжения использования ng-options . Пример фильтра:

     myApp.filter('decoded', function() { "use strict"; function htmlDecode(input) { var e = document.createElement('div'); e.innerHTML = input; return e.childNodes[0].nodeValue; } return function(input) { return htmlDecode(input); } }); 

    Затем вы можете применить фильтр в ng-вариантах. Например:

     ng-options="o.id as o.label | decoded for o in options" 

    Я был удивлен, что это сработало, но это было для меня в 1.3.20, и оно более элегантно, чем другие решения!

    Однако это может быть дорогостоящим. Оптимизированная версия фильтра es6 здесь: https://gist.github.com/DukeyToo/ba13dbca527f257a6c59