Как я могу получить данные в Jade - PullRequest
1 голос
/ 17 января 2020

Я сделал нумерацию страниц списка. Я хочу сделать список номеров нумерации страниц. но я не знаю, как я могу получить данные в нефрите.

-for(var i=0; i < #{totalCnt}; i++){
                 form(action='/topic')
                     input(type='button' name='nowPage' value=i) 
             -}

Это мой код Jade #{totalCnt} не работает

app.get("/topic", function(req, res) {
  var nowPage = req.query.nowPage;
  //전체 리스트를 띄우는 기본 리스트 화면
  var sqlCnt = "select count(*) from topic";
  var sql = "SELECT id, title FROM topic ORDER BY id";
  client.query(sqlCnt, function(err, res3) {
    client.query(sql, function(err, res2) {
      if (err) {
        console.log(err);
      } else {
        if (nowPage == null || nowPage == "" || nowPage <= 1) nowPage = 1;
        var totalCnt = res3.rows;
        res.render("view", {
          topics: res2.rows,
          totalCnt: totalCnt,
          nowPage: nowPage
        });
      }
    });
  });
});

это мой код javascript получить данные #{} правильная грамматика?

1 Ответ

3 голосов
/ 17 января 2020

Вы уже передаете переменные с помощью функции 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

Примечание: я не избежал значений счетчика (я использовал синтаксис !{}), потому что значения счетчика рассчитаны.

...