В настоящее время я работаю с ng-bind-html. В основном, что я пытаюсь сделать, когда я публикую блог, блог содержит ссылки и другие стили. Поэтому, когда я пытаюсь показать список блогов, я использую нг-Бинг-HTML, как это:Angularjs ng-bind-html с пользовательским фильтром
<p ng-bind-html="blog.blogContent"></p>
, который работает отлично.
Но, кроме того, я пытаюсь обрезать блог и показывать только несколько абзацев с дополнительной опцией, передавая собственный фильтр. Но когда я прохожу фильтр я получаю следующее:
<p ng-bind-html="blog.blogContent | Truncate"></p>
Error: [$sanitize:badparse] The sanitizer was unable to parse the
following block of html: <a href="https:.......
Мой фильтр выглядит следующим образом:
return function (text, length, end) {
if (text !== undefined) {
if (isNaN(length)) {
length = 450;
}
if (end === undefined) {
end = ".......";
}
if (text.length <= length || text.length - end.length <= length) {
return text;
} else {
return String(text).substring(0, length - end.length) + end;
}
}
Robinson - Кажется, ваш фильтр работает первым и обрезает HTML. Затем ng-bind-html пытается проанализировать недопустимую строку HTML, дающую вам ошибку. –
Вы можете изменить свой фильтр, чтобы использовать код, указанный Minouris в этом решении, и посмотреть, не делает ли это трюк. http://stackoverflow.com/questions/3822233/javascript-truncate-html-text –
Спасибо, я буду @ user1! –