3

我有一组通过 {{each}} 语句迭代的模板。代码就像

    <script id="inTmpl" type="text/x-jquery-tmpl">
         ${sub.title}
    </script>
    <script id="outTmpl" type="text/x-jquery-tmpl">
         <div>
         {{each(i, sub) parent}}
              ${sub.title}
              {{tmpl "#inTmpl"}}
         {{/each}}
         </div>
    </script>
    <script type="text/javascript">
          $(function() {
               $("#outTmpl").tmpl({
                    "parent": [
                        {"title": "a"},
                        {"title": "b"}
                    ]
               }).appendTo("body");
          });
    </script>

然后我收到错误:“未捕获的 ReferenceError:未定义子”。为什么?!

4

2 回答 2

1

您需要将新模板传递给我相信的子对象。

所以渲染第二个模板的行应该是这样的

    {{tmpl(sub) "#inTmpl"}}

这是我得到信息的地方。我自己还没有尝试过。

http://skilldrick.co.uk/tmpl/#slide14

于 2014-01-21T14:58:16.937 回答
1

您可以在此处找到存档文档:http://web.archive.org/web/20120921050105/http: //api.jquery.com/template-tag-tmpl/

这是一个工作版本:

<script id="inTmpl" type="text/x-jquery-tmpl">
  ${title}
</script>

<script id="outTmpl" type="text/x-jquery-tmpl">
  <div>
    {{each(i, sub) parent}}
      ${sub.title}
      {{tmpl(sub) "#inTmpl"}}
    {{/each}}
  </div>
</script>

<script type="text/javascript">
$(function() {
  $("#outTmpl").tmpl({
    "parent": [
      {"title": "a"},
      {"title": "b"}
    ]
  }).appendTo("body");
});
</script>
于 2017-03-14T20:23:25.760 回答