2012-06-09 6 views
9

Hallo zusammen Ich versuche Blöcke Jade mit und erstreckt für ein node.js Projekt und die ideia ist, so etwas haben:Jade - Verwenden von Sperren innerhalb Script-Tag

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'); 

Dies würde mir eine index.html wie folgt aus:

... 
<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> 
... 

Aber wenn ich das Ergebnis zu sehen, die 'Block js_doc_ready' ist kein Jade Block betrachtet. Auch wenn es als Block betrachtet wurde, war die "alert ('Hallo!);' würde nicht als ein, aber ein Jade-Tag betrachtet werden

Dies ist etwas, das ich in Django-Vorlage zu tun, aber in Jade mit all diesen Tags, und keine Freiheit, rein HTML zu tun, finde ich immer noch ein wenig zu seltsam diese Dinge zu machen.

Antwort

23

Jade nicht übersetzen, was in ‚Stil‘ ist und ‚Script‘ Code. nie.

Was funktioniert auf einer Antwort basierte I to another question gab (ein stil~~POS=TRUNC verwenden, aber das ist im Grunde das Gleiche)

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

Auf diese Weise: Jade enthält die HTML-Tags 'script' und $ ready, enthält aber auch Ihren Block. !

+0

Dank, den ich mit so etwas wie archiviert +! Titel Hallo Jade = "<= script type 'text \ javascript'>" = "...." = Aber das scheint ein wenig besser ... kann ich eine Zeichenfolge mit mehr als einer Zeile haben, ohne diese zu verwenden | ? – Arruda

+0

Ich sehe, danke. Bereits akzeptiert. – Arruda

+0

bitte beachten Sie: Javascript Typ ist 'Text/Javascript' ein nicht 'Text \ Javascript' –