Пространства превращаются в & NBSP; в угловых

0

Я использую ng_repeat для отображения текста с объекта. На strip_tags(text) rails я вызываю strip_tags(text) чтобы удалить html. При просмотре вывода он выглядит хорошо. Даже если смотреть на объект в "источнике просмотра", он выглядит отлично.

Это выглядит странно, когда вы смотрите на текст, который на самом деле отображается из ng_repeat - после определенной точки (200 слов в примере ниже) каждое пространство заменяется на  

Это вызывает переполнение текста div. Любые предложения по этому поводу?

Изображение 174551

Изменение: некоторые из кода (упрощенного)

JS:

$scope.init = function(id){
  $scope.episodes = gon.episodes

Haml:

.episode-edit{ng_repeat:"episode in episodes"}
  %p {{episode.sanitized_summary}}
  • 0
    Можете ли вы поделиться ng-repeat код ??

2 ответа

0
Лучший ответ

Извините, оказывается, это не имеет ничего общего с угловатым, больше связано с Руби.

Регулярное регулярное выражение Ruby не захватывает незанятое пространство unicode.

Вместо str.gsub(/\s/m, ' ') вы должны использовать str.gsub(/[[:space:]]/m, ' ')

0

Вы должны попробовать ng-bind-html. Ваш фрагмент будет выглядеть так:

<p ng-bind-html="YourObject"></p>

Вы можете использовать его и в ng-repeat.

Если вы хотите сначала защитить данные, $sce службу $sce в свой контроллер. Ваш фрагмент будет похож на

var ExampleCtrl = function($scope, $sce) {
  $scope.YourObject = $sce.trustAsHtml($scope.YourObject); // that it
}
  • 0
    Ответ, вероятно, работает, хотя было бы полезно указать на проблемы безопасности с этим решением.
  • 0
    проверьте мой отредактированный ответ и не забудьте принять ответ для использования в будущем

Ещё вопросы

Сообщество Overcoder
Наверх
Меню