Я использую ng_repeat для отображения текста с объекта. На strip_tags(text)
rails я вызываю strip_tags(text)
чтобы удалить html. При просмотре вывода он выглядит хорошо. Даже если смотреть на объект в "источнике просмотра", он выглядит отлично.
Это выглядит странно, когда вы смотрите на текст, который на самом деле отображается из ng_repeat - после определенной точки (200 слов в примере ниже) каждое пространство заменяется на
Это вызывает переполнение текста div. Любые предложения по этому поводу?
Изменение: некоторые из кода (упрощенного)
JS:
$scope.init = function(id){
$scope.episodes = gon.episodes
Haml:
.episode-edit{ng_repeat:"episode in episodes"}
%p {{episode.sanitized_summary}}
Извините, оказывается, это не имеет ничего общего с угловатым, больше связано с Руби.
Регулярное регулярное выражение Ruby не захватывает незанятое пространство unicode.
Вместо str.gsub(/\s/m, ' ')
вы должны использовать str.gsub(/[[:space:]]/m, ' ')
Вы должны попробовать 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
}
ng-repeat
код ??