Node.js 有没有办法创建由服务器处理产生的动态部分?
我已经开始使用NodeJS好几个月了,我在局部渲染方面遇到了一个小问题。 我希望在一些模板中包含一个局部视图,但我希望这个局部视图是从服务器动态生成的(因为它依赖于从DB和其他东西检索到的数据) 我试图创建一个模板帮助器来实现这一点,但由于处理需要异步完成,因此我无法在模板中编写html返回 基本上,对我来说最好的是类似的东西(此代码显然不起作用): 模板文件.jsNode.js 有没有办法创建由服务器处理产生的动态部分?,node.js,express,ejs,partials,embedded-javascript,Node.js,Express,Ejs,Partials,Embedded Javascript,我已经开始使用NodeJS好几个月了,我在局部渲染方面遇到了一个小问题。 我希望在一些模板中包含一个局部视图,但我希望这个局部视图是从服务器动态生成的(因为它依赖于从DB和其他东西检索到的数据) 我试图创建一个模板帮助器来实现这一点,但由于处理需要异步完成,因此我无法在模板中编写html返回 基本上,对我来说最好的是类似的东西(此代码显然不起作用): 模板文件.js ... <div> <%- generatePartial(data) %> </div&g
...
<div>
<%- generatePartial(data) %>
</div>
...
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();
};
现在,我可能完全错了我想处理这个问题的方法,所以如果你有任何解决方案/其他建议,请不要犹豫
注:我使用ExpressJS和EJS。我认为你完全走错了方向
if (obj)
{
return generatePartial1(data);
}
else
{
return generatePartial2(data);
}
我建议捕获整个数据
if (obj)
{
array1.push(data);
}
else
{
array2.push(data);
}
res.render('template\u file.js'{
阵列1:阵列1,
array2:array2
});代码>