Я пытаюсь использовать несколько фильтров, как показано ниже,Как использовать фильтры nl2br и linky вместе в Angularjs?
<p><span ng-bind-html="someVar | nl2br | linky"></span></p>
, который не делает ничего. Однако, когда я изменить порядок фильтров, как показано ниже
<p><span ng-bind-html="someVar | linky | nl2br"></span></p>
Linky работает, но nl2br не удается преобразовать разрывы строк в бр.
Следующая реализация может быть использован для nl2br:
.filter('nl2br', function($sce) {
return function(input) {
return $sce.trustAsHtml(input.replace(/\n/g, '<br>'));
}
}
Код ссылки для фильтра nl2br http://pastebin.com/1TsdF0V6 –
'$ sce.trustAsHtml' не возвращает строку,' linky' ожидает ее. – zeroflagL
Я открываю этот вопрос за щедрость, потому что это общая, но неожиданно сложная проблема, которая учит вас тем вещам, о которых вы не хотели знать в первую очередь. Я знаю, что его важно обрабатывать введенный пользователем HTML как ненадежный, но сложность использования $ sce с простой цепочкой из двух фильтров просто дует мне в голову. – jsalonen