将数据传递给ejs中的partials

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

问题是当你在一个partial中包含partial的时候,library会有bug。 第二部分包含试图find相对于称为第一部分的祖父母或page.ejs的文件。

所以这需要我将./views变平,所以所有的文件都只能在./views(没有子目录)中…或者我把符号链接到进行初始部分调用的部分。

也许有另外一个/更好的方式来做到这一点?

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

这里是一个例子:

在一个项目页面上,我调用<% include stats %> ,它调用面部分

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

或者在一个列表页面上,我调用<% include stats %> ,调用面部分

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

部分“faces.ejs”只是循环人,吐出一个链接到他们的个人资料。 但是因为我不能在一个局部范围内包含一个局部的东西,所以我不能把它们连接起来,或者尝试一些不同的东西。

./views/list/index.ejs调用一个stats.ejs部分调用faces.ejs partial …所以我需要符号链接./views/list/faces.ejs为./views/stats/faces.ejs为它上class。

你不能将数据传递给一个简单的包含,所以我不能传入不同的用户集合,这取决于它被调用的上下文。

<% include faces %>将需要face.ejs循环通过在faces.ejs中硬编码的item.users或list.users

我还能做什么,将嵌套partials /包括? 我已经向ejs-locals提交了一个bug,还有一些其他的bug,但是一个月没有任何修复。

       

网上收集的解决方案 "将数据传递给ejs中的partials"