从节点上的ejs模板调用函数

时间:2012-05-15 08:53:23

标签: node.js ejs

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

如何从ejs模板中调用makeUrl?

由于

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

1 个答案:

答案 0 :(得分:13)

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

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

in your template:
<%= myFunc(objectState.data[0]) %>