3

外部のハンドルバー テンプレートから (AJAX を介して) コンテンツを生成するとします。

$.ajax({
    url: path,
    dataType: 'html',
    success: function(data) {
        source    = data;
        template  = Handlebars.compile(source);
        //execute the callback if passed
        if (callback) callback(template);
    }
});

ここで、template.handlebars 内で、タグ {{this}} などを使用して送信したデータを出力します。ただし、テンプレートの下部にあるそのテンプレート専用の JavaScript もいくつか含めます (正常に動作します)。ただし、javascript 内のテンプレートに送信されたデータの一部にアクセスする必要があります。それは可能ですか?

私が知っている本当にばかげた例は機能しませんが、不明な場合に備えて、私が何を求めているかを説明する必要があります。したがって、これは私の template.handlebars ファイルの例です。

<h1>{{question}}</h1>

<script>
//want to access the data sent to template in the JS included
(function($) { //wrap to local scope
    $(document).ready(function() {
        //this doesn't work ofcourse.. but should explain what I'm after
        var question = {{question}};
        console.log(question)
    });
})(jQuery);

それを行う方法についてのアイデアはありますか?私にとっては、特定のテンプレートのみを対象とする JS をこのように含めることはクリーンだと感じています。

4

1 に答える 1