jade使用javascript变量(mongo模型)

时间:2016-02-09 11:33:13

标签: javascript node.js mongodb typescript pug

我正在使用node.js创建网站并尝试使用在js文件中创建的数据模型。

即使在routes / browse.ts中调用res.render()之后,jade文件中迭代的结果也不会显示为创建的网页中的结果。似乎我在jade文件的每个部分中迭代都有问题虽然console.log显示我在browse.ts中的comicArray不是空的。 这是我可以参考的代码:

路由/ browse.ts:

// Comic GET request
router.get('/', function(req, res) {
// Saving found comics into the array named 'comics'
comic.comicModel.find({}, function(err, comics){
    if (err || !comics) throw err;
    res.locals.comicArray = comics.slice(0, 10);
    comicArray = res.locals.comicArray;
  });
res.render('browse', { title: 'Browse', comicArray: comicArray});
});

视图/ browse.jade:

extends layout
block content
    .row.column.text-centent
        h1= title

    .listbox
        ul
            each val in comicArray
                li= val.title

models / Comic.ts(Comic的架构):

export var comicSchema = new mongoose.Schema({
    title: String,
    description: String,
    genre: String,    
    thumbnail: String,
    cells: Array,
    votes: Number,
    views: Number,
    comments: Array    
 });

1 个答案:

答案 0 :(得分:0)

comic.comicModal.find()是一个异步函数。您需要在回调中移动res.render()调用。