2014-09-26 2 views
1

У меня есть текстовое поле, где пользователи могут создавать свой собственный текст и также могут использовать HTML. Текст из текстового поля отображается в виде DIV по мере их ввода.Supress Ошибка ngBindHtml в AngularJS

DIV имеет атрибут ng-bind-html. Поэтому он пытается разобрать каждое изменение. Предположим, что пользователь хочет ввести Hello <strong>world</strong>.

Если пользователь Здравствуйте в текстовое поле, то все идет отлично. Но как только они набирают первый <, тогда ngSanitize начинает жаловаться на Error: [$sanitize:badparse] .... Я нахожу это раздражающим. Я могу себе представить, что в некоторых случаях это удобно для предупреждения об этом. Но в моем случае мне не нужны ошибки.

Есть ли способ пресечь или отключить их?

ответ

5

Просто используйте фильтр, который вызывает $sce.trustAsHtml, чтобы обойти любые ошибки синтаксического анализа.

Fiddle: http://jsfiddle.net/95yomb4y/

More info on $sce

+3

Это на самом деле не гуманное. Если пользователь создает этот контент, это означает, что он небезопасен! Если вы используете trustAsHtml, вы можете ввести опасный контент. –

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