0

JavaScriptに次のコードがあります。

    var context = {
        "title": section_title
    };

    var section_template = $("section-template").html(),
        template = Handlebars.compile(section_template);

    alert("yeah!");
    alert(context.title);
    var final_section_content = template(context);

    alert("WHat?");

alerts()純粋にデバッグ目的であります 。

section_template準備したテンプレートが正しく入力されています

template値として関数を持っているので、コンパイルもうまくいったと思います。

「ええ!」コンテキストのタイトルが正しく表示されます。ただし、template(context);実行中に問題が発生しているようです。「なに?」アラートが発生することはないため、HTMLコンテンツが設定されることはありません(プログラムの後半)。プログラムの後半で、jQuery関数final_section_contentの値としてを使用します。before()しかし、「何?」それ自体は実行されていません。なぜですか?

テンプレートコード:

<script id="section-template" type="text/x-handlebars-template">
    <div class="row-fluid">
        <div class="span8 offset1">
            {{! This will contain the section requirements}}
            <div class="section-title">
                <span class="add-on">
                    <i class="icon-plus-sign"></i>
                </span>

                <h2>
                    {{title}}
                </h2>
                <i class="icon-list" data-placement="bottom" data-title="Create sub-section"></i>
                <i class="icon-pencil" data-placement="bottom" data-title="Edit section title"></i>
                <i class="icon-trash" data-placement="bottom" data-title="Delete section"></i>
                <div class="subsection">
                    {{! Dummy container for subsection}}
                </div>
            </div>
        </div>
        <div class="span2 offset1">
            {{! This will contain the total score for the section}}
        </div>
    </div>
</script>
4

1 に答える 1

1

を使用してコンテンツをクエリする前に、テンプレートコードを含む要素がロードされていることを確認してください$('#section-template').html()handlebars.jsを使用すると、Firefox(およびChromeでも同様)でブラウザがエラー「TypeError:this._inputisnull」を返すのはなぜですか?を参照してください。詳細については。

于 2012-12-17T16:59:17.143 に答える