如何在MEAN堆栈中的express中以res.render动态获取对象?
res.render('myTemplate', {title: 'This is my title'});
我想要这样的事情:
res.render('myTemplate', function(){
var myReturnObject{title: 'This is my title'};
//do someting to generate return object;
return myReturnObject;
});
有人可以建议我如何在渲染功能中以编程方式生成模板变量?
感谢。
答案 0 :(得分:0)
您可以将数据放入对象中,然后将其传递给res.render。
var myReturnObject = {title: 'This is my title'};
res.render('myTemplate', myReturnObject);
答案 1 :(得分:0)
您的res.render()
来电将在控制器的上下文中生效。例如,它可能类似于(app.get('/', function(req, res) {});
。通常,您需要获取一些数据,然后将获取的数据传递到res.render()
回调中的模板。下面的代码段显示了您将如何操作这是一个查询数据库的虚构callToDb()
函数:
app.get('/', function(req, res) {
callToDB(function(err, results) {
const templateVars = {//use results like you want here};
res.render('path/to/template/, templateVars);
});
});