ng-bind-html не работает для ng-опций

Мне нужно очистить специальные символы в параметрах, но это работает неправильно. Может кто подскажет как правильно сделать?

Например:

HTML:

<div ng-controller="Ctrl">
    <select id="limitType" name="limit" ng-model="selectedLimit" ng-options="limit.text for limit in limits" ng-init="selectedLimit='5'" ng-bind-html="limit.text"></select>
<div>

JS:

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

function Ctrl($scope) {
  $scope.limits = [{
    text: 'Afficher &#0153; par page'
  }, {
    text: 'Afficher 10 par page'
  }, {
    text: 'Afficher 15 par page'
  }, {
    text: 'Afficher 20 par page'
  }];   
}

Вот ссылка на скрипку: http://jsfiddle.net/rfTV2/3/


person Malcom    schedule 17.01.2014    source источник
comment
вам нужно добавить angular-sanitise.js во внешние ресурсы. Посмотрите здесь   -  person BuDen    schedule 17.01.2014
comment
Если вы откроете прикрепленную ссылку, вы увидите, что я добавил санацию с помощью опции для angularjs-1.0.3. Кстати, когда я включаю include angularjs-1.2 и добавляю angular-sanitise.js во внешние ресурсы, он все равно не будет работать.   -  person Malcom    schedule 17.01.2014


Ответы (3)


У вас есть три варианта.

  1. Вы можете напрямую включать символы Юникода в исходный код.
  2. Вы можете преобразовать объекты html в unicode в браузере с помощью JavaScript
  3. Или вы можете откатиться к ng-repeat и использовать ng-bind-html в теге option.
person Carl G    schedule 21.08.2014

Я думаю, что CAT уже дал ответ. Я просто предоставляю информацию о том, как использовать ng-bind-html.

  1. директива ng-bind-html
  2. модуль ng-sanitize
  3. сервис $sce
person allenhwkim    schedule 17.01.2014

Ты пробовал ?

$sce.trustAsHtml()

В вашем примере это будет что-то вроде этого (не проверено)

function Ctrl($scope, $sce) {
  $scope.limits = [{
    text: $sce.trustAsHtml('Afficher &#0153; par page')
  }, {
    text: 'Afficher 10 par page'
  }, {
    text: 'Afficher 15 par page'
  }, {
    text: 'Afficher 20 par page'
  }];   
}
person Adrian Neatu    schedule 17.01.2014
comment
Не могли бы вы сказать мне, как я должен использовать это в моем примере? - person Malcom; 17.01.2014
comment
И попробуй интерполировать как обычно без ng-bind-html. - person Adrian Neatu; 17.01.2014