1
我已经开始使用NodeJS几个月了,并且我遇到了部分渲染的一个小问题。 我想在一些模板中包含部分视图,但我希望这部分从服务器动态生成(因为它取决于从数据库和其他内容中检索的数据)。有没有办法创建服务器处理产生的动态部分?
我试图创建一个模板助手来做到这一点,但由于处理需要异步完成,我无法得到一个html返回在我的模板中写入。
基本上这将是对我最好的将是类似的东西(此代码不会明显工作):
template_file.js
...
<div>
<%- generatePartial(data) %>
</div>
...
helper_middleware.js
module.exports = function registerAppHelpers(request, response, next)
{
var appHelpers = {};
appHelpers.generatePartial = function generatePartial(data)
{
if (request.isAuthenticated())
{
DB.findOne({ id: request.user.id }, function found(error, obj)
{
if (error)
...
if (obj)
{
return generatePartial1(data);
}
else
{
return generatePartial2(data);
}
});
}
else
{
return generatePartial3(data);
}
};
// Register the helpers as local variables to be accessed within a template.
for (var helper in appHelpers) {
response.locals[helper] = appHelpers[helper];
}
next();
};
现在我可能完全错了我想要的方式有这个问题,所以如果你有任何解决方案/其他建议,不要犹豫。 PS:我使用ExpressJS和EJS。