Se sei innamorato di @if ma non ti piacciono i problemi di sicurezza relativi all'utilizzo di eval, puoi utilizzare il mio helper alternativo @if. Fornisce un attributo test = "expr" per specificare la condizione if. eval NON è usato per valutare l'espressione.
Le variabili nell'espressione sono limitate ai nomi di polvere e al percorso utilizzato per accedere ai valori dal contesto. Le costanti sono forme integer, float, hex e string JavaScript ("xx" o "xx"). Gli operandi possono essere una "variabile", una costante, o un'espressione binaria o unaria che produce un valore. Gli operatori relazionali sono <,>, < =,> =, ==,! =. Gli operatori booleani sono! (unario), || e & & .. La precedenza dell'operatore è la stessa di JavaScript e le parentesi sono consentite per chiarezza o per quando la precedenza non è quella che si desidera.
Ecco un esempio:
{@if test="state == 'CA' || state == 'NY'"}
true stuff goes here
{:else}
false stuff goes here
{/if}
Nota che ha ancora il codice per consentire la cond = attributo "expr" che utilizza eval(). Questo fornisce un percorso di migrazione per il codice esistente.
È possibile installarlo come modulo npm (https://npmjs.org/package/dustmotes-if).
* condizione solo per rendere più facile la scrittura di un documento – eMarine