Установите временную переменную и используйте ее далее в шаблоне pug - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь передать некоторые значения из моего nodejs / express backend в шаблон (используя res.render ({...}) ), сохранить его в некоторых переменных, а затем передать его дальше вплоть до внешнего интерфейса (сценарий использования состоит в том, что мне нужно сделать небольшой расчет для переданных значений и сохранить их в некоторых промежуточных переменных)

Я знаю, что могу сделать это в файле мопса

block append script
  script.
    const foo = parseInt(#{stat.get('fooStat')}, 10);

Но потом кажется, что я не могу сослаться на это позже в моем шаблоне мопса, скажем здесь

  span #{foo}

Значение пустое, я думаю, потому что оно не определено ... Как обычно это сделать.

1 Ответ

0 голосов
/ 29 октября 2018

Добавление периода после того, как тег script сигнализирует мопсу, что его содержимое следует рассматривать как текст плана. Это удобно, когда вы хотите написать javascript для использования на стороне клиента, но любые объявленные переменные недоступны для pug.

script.
  const foo = 10;

span #{foo} // foo is undefined here

Если вы хотите определить переменную, которую pug может использовать позже в шаблоне, сделайте это, используя небуферизованный код .

- const foo = 10

span #{foo} // renders <span>10</span>
...