Задать вопрос

Как в Angular вывести HTML переменную с кастомными атрибутами?

Задача, казалось бы, проста: есть html кнопки, который нужно вывести в шаблоне через angular:
<div class="btn btn-primary sopdu-chat-btn" data-author="support" data-id="123">Открыть чат</div>


Этот html находится в переменной item.chat. При выводе через конструкцию {{item.chat}}, html выводится текстом
63908131400ed318427270.png

Немного погуглив, понял, что html в angular выводится с помощью атрибута ng-bind-html. В итоге вывожу переменную вот так:
<td class="order-open-chat" ng-bind-html="item.chat"></td>


Так html действительно вывелся, но почему-то без атрибутов data-author и data-id
6390820612cb5593215175.png

Как можно убрать это обрезание атрибутов? На всякий случай отмечу, что сайт на битриксе и все манипуляции проводятся внутри компонента
  • Вопрос задан
  • 212 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
sHinE
@sHinE
веб-разработчик, php/js/mysql и сопутствующее
В интернетах советуют применть фильтр типа:
angular.module('myApp')
    .filter('to_trusted', ['$sce', function($sce){
        return function(text) {
            return $sce.trustAsHtml(text);
        };
    }]);

и потом
<div ng-bind-html="item.chat | to_trusted"></div>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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