使用options参数的jQuery嵌套模板

时间:2011-03-10 16:55:16

标签: jquery-templates

我不明白如何在嵌套模板中引用options参数。

请参阅:

<div id="myContainer"></div>
<script type="text/javascript">
    var tmplMain = "<div><span>${title}</span>" + 
                   "<p style=\"border: solid 1px #f00\">${$item.details}</p>" +
                   "{{tmpl \"nestedTemplate\"}}</div>";

    var tmplNested = "<p style=\"border: solid 1px #0f0\">${$item.details}</p>";

    var _mainTemplate = jQuery.template("mainTemplate", tmplMain);
    jQuery.template("nestedTemplate", tmplNested);

    var _data = {title: "My Title"};
    var _options = {details: "My Details};

    jQuery.tmpl(_mainTemplate, _data, _options).appendTo("#myContainer");
</script>

将输出:http://i.stack.imgur.com/r7A7g.jpg

所以要么我没有在嵌套模板中正确引用“$ {$ item.details}”,要么我没有在{{tmpl}}标记中正确传递选项。我很难过。

1 个答案:

答案 0 :(得分:2)

您需要将所需的任何选项传递给{{tmpl}}标记。类似的东西:

{{tmpl($data, { details: $item.details}) "nestedTemplate" }}

您甚至可以将$ item的选项传递给嵌套模板,但$ item不仅仅包含您的选项。

此处示例:http://jsfiddle.net/rniemeyer/Xzgpr/