8

我正在尝试在服务器端使用 ejs 创建我的 Web 应用程序的非 JavaScript 版本。我将一个包含应用程序状态的对象传递给模板,并且有一次我想使用该状态对象构建一个 url。所以基本上我想做类似 <%=makeUrl(objectState.data[0])%>

如何使 makeUrl 可以从 ejs 模板中调用?

谢谢

编辑:我知道我可以将函数作为参数传递给模板,但是有更好的方法吗?

4

1 回答 1

13

在 Express 3 中,他们删除了动态助手的概念。我相信通过 app.locals 将函数传递到模板实际上是现在推荐的方法。我想你已经知道如何了,但是对于其他有同样问题的人:

in your app.js:
app.locals.myFunc = function(arg){...}

in your template:
<%= myFunc(objectState.data[0]) %>
于 2012-11-08T17:33:48.347 回答