call functions from with ejs templates on node

六月ゝ 毕业季﹏ 提交于 2019-11-29 09:14:16

问题


I am trying to create a non-javascript version of my web app using ejs on the server side. I pass into the template an object containing the app's state, and at one point I want to build a url using that state object. So basically I want to do something like <%=makeUrl(objectState.data[0])%>

how can I make makeUrl callable from within ejs templates?

Thanks

edit: I know I can pass a function in as a parameter to the template, but is there a better way?


回答1:


in Express 3, they removed the concept of dynamic helpers. I believe that passing functions into the template via app.locals is in fact the recommended way to do this now. I gather you already know how, but for anybody else with this same question:

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

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


来源:https://stackoverflow.com/questions/10597258/call-functions-from-with-ejs-templates-on-node

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!