2012-04-09 50 views
6

Câu hỏi này liên quan đến việc sử dụng Jade templates với Express.js.Nội dung `body! = Body` trong mẫu Ngọc nghĩa là gì?

Tôi biết rằng khi tôi viết layout.jade có chứa:

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

Khi tôi gọi res.render('index') sau đó mẫu thực tế của tôi là ra tới đầu body.

Câu hỏi của tôi là: != body có nghĩa là gì và cách thức Jade/Express sử dụng để xác định vị trí cho mẫu của tôi bên trong bố cục? Tôi biết rằng nếu tôi thay đổi != body bên trong phần tử khác thì chế độ xem thực tế sẽ được hiển thị ở đó thay thế. Có ai biết nơi tính năng này được ghi chép không? !

+1

Cũng muốn làm rõ điều này. Được vào tâm trí của tôi. – Hacknightly

Trả lời

7

tôi trích dẫn, từ documentation/guide:

Mã Jade của đệm bằng = được thoát theo mặc định cho an ninh, tuy nhiên để đầu ra unescaped trở lại giá trị mà bạn có thể sử dụng =:

p = aVarContainingMoreHTML

!

Khi sử dụng res.render('index') nội dung được hiển thị là index.jade (trong yo trường hợp ur) sẽ được chuyển thành biến cục bộ cho tệp bố cục của bạn (layout.jade). Biến cục bộ có sẵn dưới dạng body. Tuy nhiên, nếu chúng tôi chỉ cần xuất nội dung biến cục bộ, nó sẽ là thoát (các ký tự đặc biệt sẽ được mã hóa). Do đó, bằng cách sử dụng! =, Nội dung của nội dung sẽ được xuất ra không bị thoát.

Kiểm tra: http://expressjs.com/guide.html#view-rendering

+0

Tuyệt vời! Chỉ là câu trả lời tôi đang tìm kiếm, nhưng không rõ ràng từ các tài liệu. – jsalonen

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