У меня есть массив с несколькими объектами, подобный этому:нг-повтор с нг-затруднительное-HTML, как до и после разметки
[
{ title: 'abc', 'pre': '<div class="class1"><div class="class2">', 'post': '</div>' },
{ title: 'def', 'pre': <div class="class3">', 'post': '</div>' },
{ title: 'ghi', 'pre': '<div class="class3">', 'post': '</div></div>' }
]
<div ng-repeat="item in myVar">
<div ng-bind-html="item.pre" />{{ item.title }}<div ng-bind-html="item.post" />
</div>
выше не работает (я должен открыть два Див-х в один и закрыть в двух других элементах в этом массиве, как показано выше). Проблема заключается в том, что нг-связывать-HTML не должен быть связан с элементом, который я не могу использовать, ни один не делает фильтр работы:
<div ng-repeat="item in myVar">
{{ item.pre | trust }}{{ item.title }}{{ item.post | trust }}
</div>
angular.module('myModule').filter('trust', ['$sce',function($sce) {
return function(value, type) { return $sce.trustAsHtml; }
}]);
Любые идеи?
Я использую ng-sanitize, да. Единственный способ конкатенации? – chrney
@chrney Да, насколько я знаю. См. Мое редактирование для небольшого количества причин. Там может быть обходной путь, но, честно говоря, у меня возникнет соблазн придерживаться конкатенации. Вы можете написать директиву для выполнения этой конкатенации, если потребуется. –