2012-04-09 16 views
6

Questa domanda è relativa all'utilizzo di Jade templates con Express.js.Cosa significa `corpo! = Corpo` nel modello di giada?

so che quando scrivo layout.jade che contiene:

!!! 
html 
    body != body 
     header 
      h1 My header 

Quando chiamo res.render('index') allora il mio modello attuale è resa all'inizio della body.

La mia domanda è questa: che cosa significa != body e come Jade/Express usa quello per determinare il posizionamento del mio modello all'interno del layout? So che se cambio != body all'interno di un altro elemento, viene invece visualizzata la vista attuale. Qualcuno sa dove questa caratteristica è documentata? !

+1

vorrei qualche chiarimento su questo pure. Sono stato nella mia mente. – Hacknightly

risposta

7

cito, dal Codice documentation/guide:

di Jade tamponata da = è sfuggito per impostazione predefinita per la sicurezza, ma per l'uscita escape restituire i valori si possono utilizzare =:

p = aVarContainingMoreHTML

!

usando res.render('index') i contenuti visualizzati di index.jade (in yo ur caso) verrà passato come variabile locale al file di layout (layout.jade). La variabile locale è disponibile come corpo. Tuttavia, se si emette semplicemente la variabile locale corpo, sarà fuoriuscito (i caratteri speciali saranno codificati). Pertanto, utilizzando! =, Il contenuto del corpo verrà emesso senza caratteri di escape.

Partenza: http://expressjs.com/guide.html#view-rendering

+0

Fantastico! Solo la risposta che stavo cercando, ma non era molto evidente dai documenti. – jsalonen

Problemi correlati