Ich habe Probleme mit einem Staub wenn Bedingung. Ich habe eine Teilweise, die je nach Ländercode auf 2 verschiedene Staubvorlagen zeigt.
%Vor% Ich versuche eine if else Bedingung zu machen, die herausfinden wird, ob {countryCode}
US ist.
Beispiel:
Das funktioniert nicht. Hat jemand eine Idee, wo ich damit falsch gelaufen bin?
Der @if
-Helfer wurde aufgrund einer potenziellen Sicherheitslücke als veraltet eingestuft (er verwendet eval für die Bedingung). Ich würde stattdessen den Helfer @eq
empfehlen.
Wenn das nicht funktioniert, vergewissere dich, dass countryCode in deinem Kontext verfügbar ist (du kannst dafür {@contextDump/}
verwenden).
Ich würde das tun:
%Vor%Stellen Sie sicher, dass Sie Version 1.x oder höher verwenden.
Stellen Sie sicher, dass Sie die Helfer geladen haben. Ich bin neulich darauf gestoßen. Du brauchst es, damit es funktioniert, und es wird dir kein Fehler geben, der dir sagt, dass es nicht ist.
Wenn Sie von @if begeistert sind, aber die Sicherheitsprobleme bei der Verwendung von eval nicht mögen, können Sie meinen alternativen @if-Helfer verwenden. Es bietet ein Attribut test="expr", um Ihre if-Bedingung anzugeben. eval wird NICHT zur Auswertung des Ausdrucks verwendet.
Variablen im Ausdruck sind auf Staubnamen und den Pfad beschränkt, die für den Zugriff auf Werte aus dem Kontext verwendet werden. Konstanten sind JavaScript Integer-, Float-, Hex- und String-Formen ("xx" oder "xx"). Operanden können eine "Variable", eine Konstante oder ein binärer oder unärer Ausdruck sein, der einen Wert ergibt. Relationale Operatoren sind & lt ;, & gt ;, & lt; =, & gt; =, ==,! =. Boolsche Operatoren sind! (unär), || und & amp; & amp; .. Die Priorität für den Operator ist dieselbe wie für JavaScript und Klammern sind zur besseren Übersichtlichkeit oder für Fälle, in denen die Priorität nicht gewünscht ist, zulässig.
Hier ist ein Beispiel:
%Vor%Beachten Sie, dass es immer noch Code enthält, um das Attribut cond="expr" zuzulassen, das eval () verwendet. Dies bietet einen Migrationspfad für vorhandenen Code.
Sie können es als npm-Modul installieren ( Ссылка ).
Tags und Links if-statement dust.js