将数据传递给ejs中的partials

cho*_*ovy 6 ejs node.js express

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

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

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

也许还有另一种/更好的方法吗?

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

这是一个例子:

在项目页面上,我打电话<% include stats %>,调用面部分

<- partial('faces', { people: item.users }) %>
Run Code Online (Sandbox Code Playgroud)

或者在列表页面上,我打电话<% include stats %>,调用面部分

<- partial('faces' { people: list.users }) %>
Run Code Online (Sandbox Code Playgroud)

部分'faces.ejs'只是循环遍历人并吐出指向其个人资料的链接.但是因为我不能在部分内部包含部分内容,所以无论是在整个地方进行sym链接还是尝试不同的东西.

./views/list/index.ejs调用一个调用faces.ejs partial的stats.ejs partial ...所以我需要将./views/list/faces.ejs符号链接到./views/stats/faces.ejs上班.

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

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

我还能做些什么,可以使用嵌套的partials/includes?我已经向ejs-locals提交了一个bug,还有一些其他人也有这个bug,但它已经过了一个月没有任何修复.