Plantillas JQuery: pasar parámetro a una función

Entonces tengo esta plantilla de JQuery que llama a una función:

<script id="Fred" type="text/x-jQuery-tmpl">
  <td>${functionX()}${Field2}</td>
</script>

Funciona genial. pero ahora quiero pasarle un parámetro, pero lo siguiente no funcionará.

<script id="Fred" type="text/x-jQuery-tmpl">
  <td>${functionX(${Field1})}${Field2}</td>
</script>

¿Alguna sugerencia?

preguntado el 16 de mayo de 11 a las 18:05

3 Respuestas

Puede acceder a Field1 directamente sin usar $ {, como:

<td>${functionX(Field1)}${Field2}</td>

contestado el 16 de mayo de 11 a las 22:05

Impresionante. Esto funciona. No parece que debería, pero lo hace. - KevinDeus

Lo averigué:

<td>${functionX($data.Field1)}${Field2}</td>

contestado el 16 de mayo de 11 a las 23:05

esto es aparentemente solo de otra manera de hacerlo. La respuesta aceptada también es una excelente manera. - KevinDeus

$ datos están implícitos. Entonces, $ data.Field1 y Field1 son iguales (también $ item.data.Field1). Sin embargo, $ data se vuelve realmente útil cuando desea pasar el objeto completo a algo. - RP Niemeyer

Este es otro ejemplo de cómo se podría resolver el problema:

<script id="testTemplate" type="text/x-jquery-tmpl">
    {{if title.length}}
    <h3>${title}</h3>
    <p>Start: ${ render($data) } :End</p>
    {{/if}}
</script>

Puede ver que este método funciona en este link.

Respondido 12 Oct 16, 22:10

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.