将数据传递给ejs中的partials

时间:2012-11-08 07:04:23

标签: node.js express ejs

我正在使用ejs-locals来支持express / node.js中的partials

问题是当您在部分内部包含部分时,库存在错误。第二部分包括试图找到相对于祖父母的文件或调用第一部分的page.ejs。

所以这要求我要么缩小我的./views,所以所有文件只在./views(没有子目录)...或者我从初始部分调用的目录中删除部分符号。

也许有另一种/更好的方法可以做到这一点?

在我的很多观点中,我有一个脸部混搭,它给了我与人的化身的HTML。我不能只使用<% include faces %>并将其称为一天,因为人们的集合来自许多不同的对象,具体取决于调用它的页面。

这是一个例子:

在商品页面上,我调用<% include stats %>,调用面部分

<- partial('faces', { people: item.users }) %>

或在列表页面上,我调用<% include stats %>,调用faces partial

<- partial('faces' { people: list.users }) %>

部分'faces.ejs'只是循环遍历人并吐出指向其个人资料的链接。但是因为我不能在某个部分中包含部分内容,所以我或者在所有地方进行符号连接或尝试不同的事情。

./ views / list / index.ejs调用一个调用faces.ejs partial的stats.ejs partial ...所以我需要将./views/list/faces.ejs符号链接到./views/stats/faces。 ejs让它工作。

您无法将数据传递给简单包含,因此我无法传入不同的用户集合,具体取决于调用它的上下文。

<% include faces %>需要face.ejs循环遍历faces.users或在faces.ejs中硬编码的list.uses

对于嵌套的partials / includes,我还能做些什么呢?我已经向ejs-locals提交了一个错误,还有其他一些错误,但它已经过了一个月没有修复。

0 个答案:

没有答案