2011-06-28 14 views
6

Después de algunas aclaraciones, reafirmo mi pregunta de la siguiente manera.Usar un valor de retorno en una plantilla de jQuery

En un jquery template Tengo algo. desordenado como este para utilizar un valor retorno de una función

<p class="hidden">${$data.score = getScore(results)}</p> 

{{tmpl(homeTeam, {score: score}) "#scoreTemplate"}} 

Puede ser esto simplificado - como la siguiente, que por desgracia no hacer el truco?

{{tmpl(homeTeam, {score: getScore(results)}) "#scoreTemplate"}} 

Muchas gracias,
Robson

+0

Nota: Sé que, en general, es una buena idea poner la menor cantidad de lógica posible dentro de la plantilla (por ejemplo, ver: http://stackoverflow.com/questions/3896730/whats-the-advantage-of-logic -less-template-such-as-bigote). De todos modos, puede haber circunstancias en las que una solución al problema anterior sea la correcta o al menos la más simple. Por lo tanto, cualquier solución es muy apreciada. – SunnyRed

Respuesta

1

intentar algo como esto,

{{tmpl(
homeTeam, 
{ 
    teamRole: 'homeTeam', 
    score: d = getScoreByMatch($data, true) 
} 
) "#scoreTemplate"}} 

O

{{tmpl(
roadTeam, 
{ 
    teamRole: 'roadTeam', 
    score: d = ${getScoreByMatch($data, false)} 
} 
) "#scoreTemplate"}} 

nunca he trabajado con plantillas jQuery. Pero esta sintaxis score: d = getScoreByMatch($data, true) funcionará en javascript.

Lo que hice fue introducir una variable para obtener el resultado del método getScoreByMatch() y luego asignar el valor de esa variable a la propiedad score.

No estoy seguro si funcionará o no, pero solo intente y vea.

+0

Gracias por su respuesta Tamil. Lamentablemente, ambas sugerencias no lo hacen. El primero arroja una "faltante" después de la lista de propiedades "y el segundo un error de" identificación de propiedad no válida ". Me temo que esto es un problema/pregunta de jquery. Sin embargo: cualquier ayuda es bienvenida. – SunnyRed

Cuestiones relacionadas