Почему тег li не получает значение переменной цикла? - PullRequest
1 голос
/ 28 мая 2019

Я пытаюсь перебрать объект, идущий из app.js.Я использую каждый цикл в PUG / JADE, чтобы я мог использовать его значение для печати некоторых значений.Но li не получает значение переменной цикла

Примечание: Я получаю 'post.title' и 'post.body' ниже 4 раз, потому что это происходит из базы данных Монгои я сделал ровно 4 записи в базе данных.Кроме того, это также означает, что объект правильно поступает на страницу индекса, но li не получает значение переменной цикла.

Вывод Я получаю

 . = post.title
 . = post.body
 . = post.title
 . = post.body
 . = post.title
 . = post.body
 . = post.title
 . = post.body

Что я хочу

 Title of the post
 body of the post

 Title of another post
 Body of another post

 and so on....

Мой код

---- index.pug ----

block content
    ul
    each post in posts
        li = post.title
        li = post.body

---- app.js ----

let Post = require('./models/post');

app.get('/', function(req, res){
   Post.find({}, function(err, posts){

   if(err){
       console.log(err);
   } else {
      res.render('index', {   
        title:'Posts',
        posts: posts
     });
   }
 });
});

Что еще я пробовал

Я сделал массив констант чуть выше цикла для проверки иперебрал этот массив.Но это дало мне тот же результат, что и

. = name
. = name
. = name

, не знаю почему.Код для этого ниже.

block content
     - const names = ["Sami", "Abeer", "Hassaan"];
     ul.list-group
         each name in names
            li = name

1 Ответ

5 голосов
/ 28 мая 2019

Уберите пробел между li =, чтобы вы получили li= name.Пробел указывает, что знак равенства должен быть содержимым тега.

Полный пример вашего index.pug:

block content
    ul
    each post in posts
        li= post.title
        li= post.body
...