Задать вопрос
@kirill-93

Почему не работает style в angular?

Подскажите пожалуйста, почему пропадает атрибут style, если добавляю контент через angular?
Есть массив объектор, в которых голый html, вывожу вот так:
<div class="col-sm-6" ng-repeat="template in templates">
      <div ng-bind-html="template.template"></div>
</div>

Все выводится, все хорошо, но атрибуты style из html пропадают.
Массив объектов примерно такой:
[{
                "html"  : '<div class="row text-center"> \
                            <div class="col-xs-12"> \
                                <div class="layout" style="border: 1px solid red"> \
                                    <h1>Template 1</h1> \
                                </div> \
                            </div> \
                        </div>'
            }]


В примере выше атрибут style у тега с классом layout пропадет, если инспектировать результат. Как в таком случае передавать стили в html?
  • Вопрос задан
  • 1049 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    Angular Developer
    5 месяцев
    Далее
  • Академия Eduson
    Frontend-разработчик
    9 месяцев
    Далее
  • Skillfactory
    Специализация Frontend-разработчик
    9 месяцев
    Далее
Решения вопроса 1
@kirill-93 Автор вопроса
Нашел решение: для передачи стилей таким образом нужно их в контроллере обернуть в $sce.trustAsHtml(), предварительно передав $sce в контроллер. В противном случае ng-bind-html "очищает" разметку от инлайновых стилей
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
sim3x
@sim3x
"Предавать стили" таким образом не надо
Ответ написан
Комментировать
Для динамических стилей, которые зависят от кода ngStyle
Для всего остального только css классы ccылка
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы