为什么 li 标签没有得到循环变量的值?

Why the li tag not getting the value of loop variable?

我正在尝试遍历来自 app.js 的对象。我在 PUG/JADE 中使用每个循环,这样我就可以使用它的值来打印一些值。但是li没有得到循环变量

的值

注意: 我得到的 'post.title' 和 'post.body' 低于 4 次,因为它来自 mongo 数据库,而我确实做到了数据库中的 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

去掉li =之间的space,得到li= name。 space表示等号应该是标签的内容。

您 index.pug 的完整示例:

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