2015-06-23 4 views
16

On Angular 1.3.x с последней версией углового перевода. Использование $sanitize кажется, что есть проблемы при использовании фильтра или службы напрямую, но он работает при использовании директивы.аннулирование санитарии с использованием символов UTF

Предложения?

Вот пример:

var myApp = angular.module('myApp', [ 'pascalprecht.translate', 'ngSanitize' ]); 
 

 
myApp.config(function($translateProvider) { 
 
    $translateProvider.useSanitizeValueStrategy("sanitize"); 
 
    $translateProvider.preferredLanguage('en'); 
 
    $translateProvider.translations('en', { 
 
     UTF: 'öéü', 
 
    }); 
 
}); 
 

 
myApp.controller("myCtrl", function($scope, $translate) { 
 
    $translate("UTF").then(function(trans) { 
 
     $scope.UTFCTRL = trans; 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.16/angular-sanitize.min.js"></script> 
 
<script src="http://rawgit.com/PascalPrecht/bower-angular-translate/master/angular-translate.min.js"></script> 
 

 
<div ng-app="myApp" ng-controller="myCtrl"> 
 
    <div> 
 
     Wrong: <h1>{{ 'UTF' | translate }}</h1> 
 
    </div> 
 
    
 
    <div> 
 
     Ok: <h1 translate="UTF"></h1> 
 
    </div> 
 
    
 
    <div> 
 
     Wrong: <h1>{{ UTFCTRL }}</h1> 
 
    </div> 
 
</div>

На jsfiddle: http://jsfiddle.net/gnvpo6aa/

+0

Это WONTFIX для трансляционного фильтра не менее: https://github.com/angular-translate/angular-translate/issues/440: '( У меня проблемы с фильтром и сервисом. – Sammi

ответ

35

На данный момент, у вас есть два варианта:

  1. использовать стратегию sanitizeParameters, которая будет только дезинфицировать динамику ic, но не фактический перевод (шаблон). Если у вас есть перевод под контролем (но не динамические значения), это будет работать.
  2. Используйте стратегию escape (или escapeParameters), которая не использует дезинфекцию, а избегает.

Отказ от ответственности: Я поддерживаю угловой перевод.

Редактировать (12.01.2016): Я создал this matrix overview of all variants.

+6

это отстой. :(спасибо, хотя – fusio

+0

Нашел это через проблему 1011, спасибо за работу и плагин! – StephenMtl

+0

Странно, но он работает. –

Смежные вопросы