Ich bin generieren einen LENKER anzeigen für express js-framework, und ich brauche, um den Zugriff auf die Variablen, die ich übergeben, um die Aussicht von innerhalb einer separaten JavaScript-Datei.
Beispiel:
var foo = {{user.name}}
Jemand ne Idee ? Helfer ?
Dank pro Voraus !
PokeRwOw
Den Wert
user.name
muss die Ausgabe als eine gültige JavaScript-Ausdruck, wenn Sie möchten, fügen Sie es in innerhalb einer<script>
, das neubewerten es als code.Derzeit, wenn
user.name
ist"john.doe"
zum Beispiel, das resultierende Skript wird:Den
user.name
muss zumindest in Anführungszeichen, damit es verstanden wird als ein string-Wert/literal.Können Sie auch die Vorteile von JSON und JavaScript ähnlichkeiten in der syntax, Ausgabe von JSON, die JavaScript verstehen können, wie ein Ausdruck und beinhaltet bereits die Anführungszeichen.
Hinweis: die triple
{{{...}}}
im letzten Beispiel zum deaktivieren von HTML-Codierung, so dass Sie am Ende nicht mit:<script>var foo = {{{myJson}}}}</script>
wo myJson war ein ziemlich großes Objekt und scheint wie LENKER war nicht in der Lage zu analysieren. Ich konnte nur bekommen, es funktioniert, wenn ich versuchte, die Lösung, schlage ich vor, in meiner Antwortdata-my-value
und bekommen es auf diese Weise?Knoten übergeben können, die JSON-kodiert an den LENKER-Ansicht wie diese:
Den LENKER-view entschlüsseln und Parsen der json-etwa so:
Da alles, was an eine LENKER-Ansicht wird grundsätzlich injiziert werden direkt in HTML haben, sollten Sie immer pass-codierte json und lassen Sie den Blick entschlüsseln.
Ich habe versucht, die anderen Vorschläge in diesem thread. Aber Sie injiziert nicht-codierte JSON-in den LENKER Blick und gab mir immer parsing Fehler. Ich habe keine Ahnung, wie die Leute bekamen das zu arbeiten, da es scheint, wie LENKER analysieren die Variablen als text.
Habe ich nicht Lesen, auf, wie die LENKER-parser funktioniert - aber es scheint mir, die einzige sichere Möglichkeit ist die Verwendung von JSON-kodiert, wie schlage ich vor, in meinen Beispielen.
render
Funktion mangles meine Daten in unbrauchbar[object][object]
string. also ich encode es über einen view Helfer statt. zusätzlich, mit dreifach-Klammern{{{
Ursachen syntax-Fehler für mich. doppelte Klammern funktioniert. alle haben gesagt, dass diese Lösung gelingt, zeigen Sie mir die richtige Richtung.