2016-07-19 10 views
1

Lassen Sie uns diese einfache Winkel Schnipsel nehmen:Wie werden Winkelausbrüche gebundene Werte?

<input type="text" ng-model="name" /> 
<p>Hello {{name}}</p> 

Wenn ich den Text <script>document.write("Hello World!");</script> es eingeben sieht aus, als dies nicht ausgeführt wird aber angezeigt, wie ist. Aber wenn ich mir das generierte HTML anschaue, sehe ich das Skript-Tag ohne irgendwelche Escape-Zeichen.

Ich erwartete, die eckigen Klammern als HTML-Escape-Zeichen zu sehen. Wie stellt Winkel sicher, dass dieser Code nicht ausgeführt wird?

(Siehe Plunker http://plnkr.co/DeUCP74RZSGE2ypLqyRY)

+0

Mögliche Duplikate von [AngularJS: HTML aus einer Zeichenfolge einfügen] (http://stackoverflow.com/questions/14761724/angularjs-insert-html-from-a-string) – Pureferret

+0

Überprüfen Sie den [eckigen $ sce Service] (https://docs.angularjs.org/api/ng/service/$sce) – MMhunter

Antwort

3

Es ist eigentlich html es kodiert, weshalb es nicht läuft. Wenn Sie die Chrome-Dev-Tools verwenden, werden sie nur zur besseren Lesbarkeit als normale spitze Klammern angezeigt.

Wenn Sie mit der rechten Maustaste auf den Wert klicken und auf "Als HTML bearbeiten" klicken, wird der Inhalt html-codiert angezeigt.

Verwandte Themen