5

我需要清理选项中的特殊字符,但它不能正常工作。也许有人可以告诉我我应该如何正确地做到这一点?

例如:

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/

4

3 回答 3

6

你有三个选择。

  1. 您可以直接在源代码中包含 unicode 字符
  2. 您可以使用 JavaScript 在浏览器中将 html 实体转换为 unicode
  3. 或者您可以回退ng-repeat并使用ng-bind-html您的optiontag
于 2014-08-21T18:43:11.160 回答
0

我认为 CAT 已经提供了答案。我只是为如何使用 ng-bind-html 提供阅读资料

  1. ng-bind-html 指令
  2. ng-sanitize 模块
  3. $sce 服务
于 2014-01-17T15:44:03.523 回答
-2

你有没有尝试过 ?

$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'
  }];   
}
于 2014-01-17T14:05:24.900 回答