Ich habe ein Array mit mehreren Objekten, die ähnlich wie diese:ng-repeat mit ng-bind-html als Pre- und Post-Markup
[
{ 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>
Die oben nicht funktioniert (ich zwei divs zu öffnen haben in Eins und schließen zwei andere Elemente in diesem Array, wie oben dargestellt). Das Problem ist, dass ng-bind-html an ein Element gebunden werden muss, die ich nicht verwenden kann, ebenso wenig wie eine Filter Arbeit:
<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; }
}]);
Irgendwelche Ideen?
Ich benutze ng-Sanitize, ja. Ist die Verbindung wirklich der einzige Weg? – chrney
@chrney Ja, soweit ich weiß. Sehen Sie meine Bearbeitung für ein kleines bisschen warum. Es könnte eine Umgehungslösung sein, aber ehrlich gesagt wäre ich versucht, bei der Verkettung zu bleiben. Sie könnten eine Anweisung schreiben, um diese Verkettung durchzuführen, wenn es nötig ist. –