2012-06-09 25 views
9

Chào bạn Tôi đang cố gắng sử dụng khối Jade củakéo dài cho một dự án Node.js và ideia là phải có một cái gì đó như thế này:Jade - Sử dụng khối bên trong 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'); 

này sẽ cung cấp cho tôi một index.html như thế này:

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

Nhưng khi tôi nhìn thấy kết quả, các 'khối js_doc_ready' không được xem là một khối Jade. Ngoài ra, ngay cả khi nó được coi là một khối, cảnh báo "('xin chào!);' sẽ không được coi là một, mà là một thẻ Jade

Đây là điều tôi thường làm trong mẫu django, nhưng trong ngọc bích với tất cả các thẻ này, và không có tự do để làm html tinh khiết tôi vẫn tìm thấy nó một chút quá lạ để làm điều này.

Trả lời

23

Jade không dịch bên trong 'phong cách' và 'kịch bản' mã là gì. không bao giờ.

gì sẽ làm việc dựa trên một câu trả lời tôi đã to another question (sử dụng một yếu tố phong cách nhưng đó là về cơ bản giống nhau).

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

Bằng cách này: ngọc bích sẽ bao gồm các thẻ HTML 'script' và $ .ready dòng nhưng cũng sẽ bao gồm khối của bạn. !

+0

nhờ tôi lưu giữ một cái gì đó như sử dụng:! tiêu đề Xin chào ngọc = " Nhưng điều này dường như một chút tốt hơn ... tôi có thể có một chuỗi với nhiều hơn sau đó trên đường mà không sử dụng đó | ? – Arruda

+0

Tôi hiểu, cảm ơn. Đã được chấp nhận. – Arruda

+0

xin lưu ý: loại javascript là 'text/javascript' không phải là 'text \ javascript' –

Các vấn đề liên quan