Разница между bo-html и bo-text
Читая документацию директивы bindonce, мне интересно, в чем разница между bo-html
а также bo-text
,
bo-html
:
оценивает "разметку" и отображает ее как HTML внутри элемента
bo-text
:
оценивает "текст" и печатает его как текст внутри элемента
Итак, я ожидал, что этот код будет работать:
<span bo-html="<strong>SomeText</strong>"></span>
Но я получил это:
Error: [$parse:syntax] Syntax Error: Token '<' not a primary expression at column 1 of the expression
<strong>
будучи основной разметкой, не так ли?
Если это не может работать (возможно, проблема с синтаксисом..), в чем реальная разница между bo-text
а также bo-html
?
1 ответ
Решение
Если вы хотите выбросить строку в bo-html, вам нужно объявить ее как строку, потому что она ищет переменную.
<span bo-html="'<strong>SomeText</strong>'"></span>
по-другому:
$scope.myVariable = '<strong>SomeText</strong>';
<span bo-html="myVariable"></span>
Разница такая же, как вы скопировали выше. Вы можете увидеть разницу на примере:
$scope.myVariable = '<strong>SomeText</strong>';
<span bo-html="myVariable"></span> //<strong>SomeText</strong> as HTML
<span bo-text="myVariable"></span> //<strong>SomeText</strong> as text