【问题标题】:defining new variable within jquery template在 jquery 模板中定义新变量
【发布时间】:2011-06-30 17:04:31
【问题描述】:

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

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

及以后使用

$item.xxx

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

【问题讨论】:

  • 你的问题是一个很好的答案:)

标签: jquery jquery-templates


【解决方案1】:

我不认为使用 $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/

【讨论】:

  • 对于设置变量也许$.extend($.tmpl.tag, {"setvar": {open: "$1;"}});
【解决方案2】:

你可以用eval标签扩展jquery模板

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

并使用

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

【讨论】:

    【解决方案3】:

    我愿意:

    ${xxx=13, ""}
    

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

    【讨论】:

    • jquery.tmpl 在全局上下文中创建这些变量。 xxx 将是全局变量。
    猜你喜欢
    • 2011-10-23
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    • 2019-06-24
    相关资源
    最近更新 更多