Jade, который сейчас называется Pug, является шаблонизатором для языка JavaScript. Он упрощает создание HTML-шаблонов, позволяя встраивать JavaScript-код и использовать объекты данных.
Для работы с объектами данных в Pug, вам необходимо передать объект или массив данных в шаблон путем указания его вторым аргументом при рендеринге шаблона. Например, если у вас есть объект называемый user
с полями name
и age
, вы можете передать его в шаблон следующим образом:
app.get('/', function(req, res) { var user = { name: 'John', age: 25 }; res.render('index', {user: user}); });
Затем, в самом шаблоне Pug, вы можете обратиться к полям объекта данных, используя .
(точку) для разделения иерархии. Например, чтобы вывести имя пользователя, вы можете сделать следующее:
h1 User Name: #{user.name}
В этом примере, h1
является тегом HTML для заголовка первого уровня, User Name:
добавляется в качестве текстового содержимого заголовка, а #{user.name}
используется для вставки значения из объекта данных в шаблон.
Вы также можете использовать условия и циклы для работы с объектами данных в Pug. Например, если у вас есть массив пользователей, вы можете использовать цикл each
для отображения каждого из них:
ul each user in users li= user.name
В этом примере, ul
является тегом HTML для маркированного списка, each
используется для перебора каждого пользователя в массиве users
, и li= user.name
используется для отображения имени каждого пользователя в виде пункта списка.
Кроме того, Pug поддерживает фильтры для обработки данных. Фильтры позволяют применять различные обработки к данным перед их выводом в шаблон. Например, вы можете использовать фильтр markdown
для преобразования текста в HTML:
p :markdown # Hello, **Pug**!
В этом примере, :markdown
указывает на фильтр markdown
, а # Hello, **Pug**!
является текстом, который будет обработан и преобразован в HTML.
Как видите, в Pug есть множество возможностей для работы с объектами данных. Он упрощает генерацию динамических HTML-страниц, обладает гибким синтаксисом и является мощным инструментом для разработки веб-приложений с использованием JavaScript.