@nyazzz

Как вызвать функцию express, переданную в pug?

Хочу передать в шаблон функцию (она должна отрабатывать на сервере, не в браузере) и привязать ее к onclick на кнопке, но не получается...

function startFn() {
  console.log('test')
}

function (app, opts) {
  app.get('/', (req, res) => {
    res.render('index', {name: 'test', startFn: startFn})
})


doctype html
html
  head
    title= name
    link(rel="icon" type="image/png" href="/public/favicon.png")
  body
    button(type="button" alt=name onclick=startFn ) Start fn


На выходе получаю следующее:
<!DOCTYPE html>
<html>

<head>
  <title>test</title>
  <link rel="icon" type="image/png" href="/public/favicon.png">
</head>

<body><button type="button" alt="test" onclick="undefined">Start fn</button></body>

</html>


Т.е. параметр name прокинулся, а startFn нет? Почему??
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
@nyazzz Автор вопроса
Мне объяснили, что Pug, как шаблонизатор, принимает в себя только те значения, которые могут быть приведены к строке, и в него невозможно передать функции таким образом.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы