1

ハンドルバーを使おうとしています。each 関数を使用するまでは、完璧に機能しました。関数は正常に動作しますが、すべてをパラメーターに参照しているようです。したがって、目的のオブジェクトに到達できません。とにかく、少しのコードがより明確になると思います。

<div id="myDiv"></div>

<script type="text/x-handlebars-template" id="handlebar">
    {{#each items}}
    <p>{{this.name}} {{this.surname}}</p>
    <p>{{somethingInTheGeneralContext}}</p>
    {{/each}}
</script>

<script>
    $( document ).ready(function() {
        var source   = $("#handlebar").html();
        var template = Handlebars.compile(source);
        var context = {
            items: [
                {
                    name:"Paul",
                    surname:"Buchon"
                },
                {
                    name:"Pierre",
                    surname:"Bino"
                },
                {
                    name:"Jean",
                    surname:"Duflou"
                }
            ],   
            somethingInTheGeneralContext: "It works !"
        };
        var html = template(context);
        $("#myDiv").html(html);
    });
</script>

これは次を出力します:

ポール・ブション

ピエール・ビーノ

ジャン・デュフロ

そして、私のsomethingInTheGeneralContextはどこかで失われています...どうすれば修正できますか? ありがとう!

4

1 に答える 1