Вы уже передаете переменные с помощью функции res.render
в файл view
. Убедитесь, что файл вида называется view.pug
. Вы передали имя файла .pug
в качестве первого параметра "view"
.
В спецификации мопса (интерполяция) вы можете найти следующее:
Если вам нужно включить дословное обозначение # {, вы можете либо избежать его, либо использовать интерполяцию.
Вы можете использовать переменные из функции рендеринга в своем шаблоне следующим образом:
app. js
app.get("/topic", function(req, res) {
var nowPage = req.query.nowPage;
client.query("select id, title from topic order by id", (err, result) => {
if (!nowPage || nowPage === 1)
nowPage = 1;
res.render("view", {
title: 'Topics',
topics: result.rows,
totalCnt: result.rowCount,
nowPage: nowPage,
errors: err
});
});
});
view.pug
h1 #{title}
p There are !{totalCnt} topics on !{nowPage} page
if topics
ul
for topic in topics
li ID: #{topic.id}, Title: #{topic.title}
else if errors
ul
for error in errors
li!= error.msg
Примечание: я не избежал значений счетчика (я использовал синтаксис !{}
), потому что значения счетчика рассчитаны.