是否可以在jquery模板中定义新变量?
我阅读了官方的jquery模板文档但无法找到任何内容。
我试过像{{ var xxx=123 }}
这样的东西,但它不起作用。
最后,我正在使用hack做
${$item.xxx=123,""}
以后再使用
$item.xxx
但我相信这不是最好的方法......
答案 0 :(得分:21)
我不认为做$ item方法太糟糕了。它与查找通过options参数传递给$ .tmpl。
的变量的位置一致我使用的另一种基于小提示here的方法是实际定义“var”模板标记。
只是做:
$.extend($.tmpl.tag, {
"var": {
open: "var $1;"
}
});
然后您可以在模板中使用它,如:
{{var xxx=123}}
...
<div>${xxx}</div>
另外,这里有关于自定义jquery模板标签的好文章:http://blog.sterkwebwerk.nl/2010/12/15/custom-jquery-template-tags-1/
答案 1 :(得分:2)
您可以使用eval标记扩展jquery模板
$.extend($.tmpl.tag, { "eval": { open: "$1;"} });
并使用
{{eval var xxx = 123}}
{{eval xxx += 23}}
答案 2 :(得分:1)
我做:
${xxx=13, ""}
然后我可以在子模板或同一模板中使用xxx