Wenn ich nur zum Beispiel mache:
var = "<a>Asd</a>";
<span>{{ var }}</span>
Die Zeichenfolge wird wie Text und nicht als HTML gedruckt, also wie drucke ich das HTML?
da ich bin
Wenn ich nur zum Beispiel mache:
var = "<a>Asd</a>";
<span>{{ var }}</span>
Die Zeichenfolge wird wie Text und nicht als HTML gedruckt, also wie drucke ich das HTML?
Sie sollten verwenden ng-bind-html
Richtlinie.
Erstellt eine Bindung, die das Ergebnis der Auswertung des Ausdrucks auf sichere Weise in das aktuelle Element einfügt.
<ANY ng-bind-html="{expression}">
...
</ANY>
Ausdruck kann eine Variable oder eine Funktion sein. überlegen wir uns var htmlString='<somehtml />'
dann sollte es so sein <span ng-bind-html='htmlString'></span>
– Fizer Khan
20. Januar 2014 um 10:54 Uhr
Jetzt müssen Sie auf ng-sanitize verweisen, um dies zu erreichen. docs.angularjs.org/api/ngSanitize
– Eduardo
30. Juni 2015 um 3:14 Uhr
Wellington Lorindo
Vor der Verwendung des ng-bind-html Direktive müssen Sie die einfügen $desinfizieren Service oder es wird ein Fehler ausgegeben.
Fehler: $sce:unsafe Require a safe/trusted value Versuch, einen unsicheren Wert in einem sicheren Kontext zu verwenden.
Error: [$sce:unsafe] http://errors.angularjs.org/1.4.5/$sce/unsafe
at Error (native)
Der richtige Weg:
<script src="https://stackoverflow.com/questions/21231630/angular.js"></script>
<script src="angular-sanitize.js"></script>
var myApp = angular.module('app', ['ngSanitize']);
myApp.controller('MyController', ['$scope', function($scope) {
$scope.myHTML = '<a href="#">Hello, World!</a>';
}]);
<div ng-controller="MyController">
<p ng-bind-html="myHTML"></p>
</div>
Du kannst auch so etwas versuchen:
app.filter('to_trusted', ['$sce', function($sce) { return function(text) { return $sce.trustAsHtml(text); }; }]);
und dann im Blick:
ng-bind-html=" myHTML | to_trusted"
Wo wird dies im Winkelprojekt hinzugefügt?
– lesolorzanov
21. September 2021 um 15:55 Uhr