在jquery模板中定义新变量

时间:2011-02-20 11:20:07

标签: jquery jquery-templates

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

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

以后再使用

$item.xxx

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

3 个答案:

答案 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