2011-02-20 14 views
14

¿Es posible definir una nueva variable dentro de una plantilla jquery? Leí los documentos oficiales de la plantilla de jquery pero no pude encontrar nada al respecto. Intenté algo como {{ var xxx=123 }} pero no funcionó. Finalmente estoy usando un hack haciendodefiniendo nueva variable dentro de la plantilla jquery

${$item.xxx=123,""}

y más tarde usando

$item.xxx

, pero estoy seguro de que no es el mejor enfoque ...

+0

Su pregunta era una buena respuesta :) Y para – merlinbeard

Respuesta

19

I don' Creo que hacer el enfoque $ item es muy malo. Es coherente con el lugar donde buscaría las variables que se pasan a través del parámetro de opciones a $ .tmpl.

Otro enfoque que he usado, basado en un pequeño consejo here, es definir realmente una etiqueta de plantilla "var".

Just Do:

$.extend($.tmpl.tag, { 
    "var": { 
     open: "var $1;" 
    } 
}); 

entonces usted puede utilizar en sus plantillas como:

{{var xxx=123}} 
... 
<div>${xxx}</div> 

Además, bonita entrada de blog aquí en etiquetas de plantilla jquery personalizado: http://blog.sterkwebwerk.nl/2010/12/15/custom-jquery-template-tags-1/

+3

variables de configuración quizás '$ .extend ($ .tmpl.tag, {" setvar ": {open:" $ 1; "}});' – Gavin

2

Puede extender la plantilla de jquery con la etiqueta eval

$.extend($.tmpl.tag, { "eval": { open: "$1;"} }); 

y utilizar

{{eval var xxx = 123}} 
{{eval xxx += 23}} 
1

yo:

${xxx=13, ""} 

y luego puedo usar xxx en un submarino o en la misma plantilla

+0

jquery.tmpl crea estas variables en contexto global. 'xxx' será una variable global. – Ikrom

Cuestiones relacionadas