将数据传递给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,但是一个月没有任何修复。