ng-bind-html против bind-html-компиляции?

Я хочу знать разницу между директивами ng-bind-html и bind-html-compile. Например, я дал

<p style='color:red'>test<p> 

для ng-bind-html это удаляет стиль, а bind-html-compile - нет. Могу ли я узнать, когда следует использовать каждую директиву. Спасибо.


person vino    schedule 11.10.2016    source источник


Ответы (1)


bind-html-compile не является стандартной директивой Angular, она поставляется с модулем https://github.com/incuna/angular-bind-html-compile и используется для компиляции связанных данных. Для простоты это эквивалентно написанию html в исходном коде: он будет переоценен, и если будут найдены другие директивы, они будут работать так, как ожидалось.

ng-bind-html — это стандартная директива (в комплекте с самим Angular), которая просто выводит html-строки без компиляции.

например, если у вашего контроллера есть переменная с простым html, например:

$scope.dataToDisplay = '<h1><strong>Title</strong></h1>';

Тогда вы можете пойти с ng-bind-html.

Если вам нужно внедрить переменные, содержащие html, с другими директивами, такими как:

$scope.dataToDisplay = '<h1 ng-show="showIfOtherVariable"><strong>Title</strong></h1>';

тогда вам нужен вышеупомянутый модуль.

person Enrico Deleo    schedule 11.10.2016
comment
и если другие каталоги найдены, вы имеете в виду другие директивы? - person MEMark; 16.06.2017