Ich habe beobachtet, dass beim Schreiben von JS in Skript-Tags in die Vorlage das Skript ausgeführt wird, wenn sie in die Vorlage eingefügt werden.EmberJS 1.13 Templating - Skriptelemente aus htmlSafe string führt JS nicht aus
habe ich versucht, dies in meine Komponente schreiben:
test: Ember.String.htmlSafe("<script>console.log('Hello World')</script>")
Und in meiner Vorlage:
{{test}}
Diese in den DOM einfügen, aber den Code nicht ausgeführt . Ich dachte, es war, weil HTMLBars nicht Script-Tags in der Vorlage erlauben, aber nur
<script>console.log('Hello World')</script>
in die Schablone schreiben selbst die JS innerhalb laufen.
Kann mir jemand sagen, ob es einen Weg gibt, dies zu erreichen oder eine Erklärung zu geben, warum dies geschieht? Danke im Voraus.
Vielen Dank für die schnelle Antwort. Die Verwendung von Ember.String.htmlSafe mit den doppelten Klammern umgeht auch die Entweichen und zeigt sie richtig an. Das Skript-Tag erscheint gut, aber es ist der JS innerhalb, der nicht ausgeführt wird. Ich habe auch versucht, die dreifachen Klammern zu überprüfen, und die JS läuft auch nicht. – Jan
Ich bin mir nicht sicher, was Sie erreichen möchten? Allgemein in ember können Sie einen Helfer schreiben, der den String entkommt oder eine triple Klammer verwendet. Möchten Sie, dass das Skript ausgeführt wird, da Ihre Frage besagt, dass HTML.safe nicht ausgeführt wird? es sollte nicht laufen, deshalb ist es sicher lol –