Я пытаюсь отображать символы валюты, используя их юникоды в angularjs. Я создал массив юникодов и использовал ng-repeat для отображения каждого символа валюты. Я также использовал Strict Contextual Escaping, но я получаю Error: [$ sce: itype] Попытка доверять нестрочному значению в содержимом, требующем строку: Context: html
Это мой index.html.
<div ng-app="myApp">
<div ng-controller="myCtrl">
<p ng-repeat="currency in currencies">
<span data-ng-bind-html="currency | toHtml"></span>
</p>
</div>
</div>
Это мой app.js
angular.module('myApp', [])
.filter('toHtml', function($sce) {
return function(input) {
return $sce.trustAsHtml(input);
}
})
.controller('myCtrl', function($scope, $sce) {
$scope.currencies = $sce.trustAsHtml(['U+20B9', 'U+20AC', 'U+0024']);
});
Я нашел альтернативный способ решить мою проблему. Я использовал код javaScript/Json вместо unicode. например: \ u20B9. Теперь мне не нужно вызывать Strict Contextual Escaping. –