2012-05-15 12 views
8

Estoy tratando de crear una versión que no sea de javascript de mi aplicación web utilizando ejs en el lado del servidor. Paso a la plantilla un objeto que contiene el estado de la aplicación, y en un punto quiero construir una url usando ese objeto de estado. Entonces, básicamente, quiero hacer algo como <% = makeUrl (objectState.data [0])%>funciones de llamada desde con plantillas ejs en el nodo

¿cómo puedo hacer makeUrl invocable desde dentro de las plantillas de ejs?

Gracias

edición: Sé que puedo pasar una función como un parámetro de la plantilla, pero hay una manera mejor?

Respuesta

13

en Express 3, eliminaron el concepto de ayudantes dinámicos. Creo que pasar funciones a la plantilla a través de app.locals es, de hecho, la forma recomendada de hacerlo ahora. Supongo que ya sabes cómo, pero para cualquier otra persona con esta misma pregunta:

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

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