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>

次に、「Uncaught ReferenceError: sub is not defined」というエラーが表示されます。どうして?!

4

2 に答える 2

1

私が信じているサブオブジェクトを新しいテンプレートに渡す必要があります。

したがって、2 番目のテンプレートをレンダリングする行は次のようになります。

    {{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 に答える