2013-06-22 22 views
7

Tôi đã sử dụng EJS với Express và Node.JS trong một thời gian ngắn và tôi nghĩ rằng tôi hiểu những điều cơ bản. Tôi đã thử nghiệm với chức năng EJS include đã cho phép tôi bao gồm một mẫu bên trong một mẫu khác. Tôi cũng đã sử dụng một thư viện có tên là ejs-locals, cung cấp hỗ trợ bố cục thực sự dễ dàng. Một điều tôi nhận thấy là ejs-locals cũng định nghĩa các hàm partialblock có thể được sử dụng với EJS. Tôi dường như không thể tìm thấy một lời giải thích tốt về sự khác biệt giữa ba khái niệm này. Theo như tôi có thể nói họ là những khái niệm chung để tạo khuôn mẫu và không chỉ EJS. Dường như với tôi rằng cả hai partialblock vẫn là cách bao gồm các tệp mẫu khác, nhưng chúng khác nhau như thế nào?Sự khác biệt giữa bao gồm, một phần, và/hoặc một khối trong khuôn mẫu. EJS/ejs-locals

Trả lời

10

include: Đơn giản chỉ cần lấy nội dung từ tệp đã cho và đặt nó vào nơi có tuyên bố include của bạn. Nói cách khác: Tệp có quyền truy cập vào tất cả các biến được xác định trong tệp mà nó đã được đưa vào.

partials: Khá giống với include, với sự khác biệt là một phần chỉ có quyền truy cập vào các biến mà bạn chuyển cho nó khi hiển thị.

blocks: Trong bố cục của bạn, bạn xác định vị trí nơi nội dung của các khối của bạn sẽ được. Trong tệp bạn hiển thị, bạn xác định nội dung cho các khối này và xác định bố cục bạn muốn hiển thị nội dung khối của mình.

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