2012-06-09 10 views
9

Hi there Sto cercando utilizzando blocchi di Jade e si estende verso per un progetto node.js, e l'ideia è quello di avere qualcosa di simile:Jade - Utilizzando blocco all'interno tag script

layout.jade:

head 
    script 
     $(document).ready(function() { 
     block js_doc_ready 
      //here goes the doc ready 
     }); 

index.jade:

block js_doc_ready 
    alert('hello!'); 
    alert('one more js line code'); 
    alert('end my js doc ready for this view'); 

questo mi darebbe un index.html come questo:

... 
<head> 
    <script type="text/javascript"> 
      $(document).ready(function() { 
       alert('hello!'); 
       alert('one more js line code'); 
       alert('end my js doc ready for this view');   
      }); 
    </script> 
</head> 
... 

Ma quando vedo il risultato, il 'blocco js_doc_ready' non è considerato un blocco di giada. Inoltre, anche se fosse considerato un blocco, l'avviso "" ("ciao!);" non è considerato un tag, ma un Jade

Questo è qualcosa che ho usato nel template django, ma in giada con tutti questi tag, e nessuna libertà di fare puro html lo trovo ancora un po ' troppo strano per fare queste cose.

risposta

23

Jade non tradurre quello che c'è dentro 'stile' e il codice 'script'. Mai.

Quale sarà il lavoro si basa su una risposta che ho dato to another question (usando un elemento di stile, ma questo è praticamente lo stesso)

!!! 
head 
    title Hello jade 
    | <script type='text/javascript'> 
    | $(document).ready(function() { 
     block js_doc_ready 
    | }); 
    | </script> 

In questo modo: jade includerà i tag HTML 'script' e $ .ready lines ma includerà anche il tuo blocco. !

+0

grazie Ho archiviato qualcosa di simile utilizzando:!!! titolo Ciao giada = " Ma questo sembra un po ' meglio ... posso avere una stringa con più poi online senza usare quella | ? – Arruda

+0

Vedo, grazie. Già accettato. – Arruda

+0

nota: il tipo di javascript è 'text/javascript' e non 'text \ javascript' –