16

是否可以在 jquery 模板中定义新变量?我阅读了官方的 jquery 模板文档,但在这方面找不到任何东西。我尝试了类似的东西,{{ var xxx=123 }}但没有奏效。最后我通过做

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

后来使用

$item.xxx

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

4

3 回答 3

21

我不认为使用 $item 方法太糟糕了。它与您在哪里查找通过 options 参数传递给 $.tmpl 的变量是一致的。

基于此处的一个小技巧,我使用的另一种方法是实际定义一个“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/

于 2011-02-20T21:21:13.160 回答
2

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

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

并使用

{{eval var xxx = 123}}
{{eval xxx += 23}}
于 2011-10-18T08:57:05.507 回答
1

I do:

${xxx=13, ""}

and then i can use xxx in a sub or in the same template

于 2013-07-03T15:32:54.177 回答