在jquery模板中定义新变量

是否可以在jquery模板中定义新变量? 我阅读了官方的jquery模板文档但无法找到任何内容。 我试过像{{ var xxx=123 }}但它不起作用。 最后,我正在使用黑客

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

然后使用

$item.xxx

但我相信这不是最好的方法……

我不认为做$ item方法太糟糕了。 它与查找通过options参数传递给$ .tmpl的变量的位置一致。

我在这里基于一个小技巧使用的另一种方法是实际定义“var”模板标签。

做就是了:

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

然后你可以在你的模板中使用它,如:

 {{var xxx=123}} ... 
${xxx}

另外,关于自定义jquery模板标签的好博客文章: http : //blog.sterkwebwerk.nl/2010/12/15/custom-jquery-template-tags-1/

您可以使用eval标记扩展jquery模板

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

并使用

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

我做:

 ${xxx=13, ""} 

然后我可以在子模板或同一模板中使用xxx