2012-03-25 2 views
7

Ho tutti i miei contenuti pre-escape, quindi piuttosto che usare il triple stash ovunque vorrei disabilitare globalmente l'escape dei manubri. Una rapida ricerca ha mostrato una caratteristica simile che posso vedere nella mia build di manubri, tuttavia non so come accenderlo.Handlebars.js disabilita l'escape con l'opzione noEscape?

La richiesta di pull è qui: https://github.com/wycats/handlebars.js/pull/121

Ho provato ad aggiungere Handlebars.Compiler.options.noEscape = true nel mio codice, ma si tratta sempre di nuovo con le opzioni non definite. Anche dopo aver definito le opzioni, non lo raccoglie. Qualcuno sa come dovrei abilitare questa opzione nel mio file di script? Grazie

risposta

25

provare qualcosa di simile:

var template = Handlebars.compile(source, {noEscape: true}); 
+0

perfetto, grazie! – user842800

+0

come posso farlo in nodejs? –

+0

@CaptainObvious Dovrebbe essere lo stesso. –

4

Supponiamo,

var template = "This is {{target}}"; 
var target = "user's pictures"; 
var result = Handlerbars.compile(template, {noEscape:true})({target:target}); 

Ora provate a risultato di stampa. C'è un apostrofo nel valore di stringa di destinazione. Che non cambierà con la stringa codificata. Se si rimuoverà il {noEscape:true} dalla funzione di compilazione, cambierà.