CNode

关于ejs模板部分的问题~

问答
LLucario1993发布于11 年前最后回复11 年前7 回复5421 浏览0 收藏

一直在看《Node.js实战》这本书,其中第六章涉及到使用express+ejs,在其中渲染模板的时候,一个页面只读取了数据库的一个表的数据来渲染,如果要在一个页面读取两个甚至更多表的数据来渲染怎么做啊? 360截图20151101182807730.jpg

查看回复

回复 (7)

J
jiyinyiyong#1·11 年前

回调加回调, 多次查询?

L
Lucario1993#2·11 年前
引用 jiyinyiyong回调加回调, 多次查询?

@jiyinyiyong 不知道为什么,两次查询后会显示第二次读取的数据未定义,是不是渲染的时候只能用一个json数组啊?

J
jiyinyiyong#3·11 年前

这个就要看代码了

K
klausgao#4·11 年前

很新手的问题啊。用q,写2个mongoose的查询,一起all出来,再render模板就行了😁 自豪地采用 CNodeJS ionic

E
eqiuno#5·11 年前

无比简单,和一个查询没什么区别。我用bluebird做例子了。

//var Promise = require('bluebird');

route.get('/users/:id', function(req,res,next) {
    var user = User.findOne({where: {id: req.params.id});
	var posters = Poster.findAll({where: {userId: req.params.id});
	Promise.join(user, posters, function(userData, userPosters) {
	   res.render('posters.ejs', {user: userData, posters: userPosters});
	}).catch(function(err) {
	   next(err);
	});
});
参与回复
登录后即可参与回复。登录