期待どおりにレンダリングされるコンパイル済みのハンドルバー テンプレートがあります。
プリコンパイルしているテンプレートに埋め込み (プリコンパイルされていない) 部分参照を追加することにしましたが、パーシャルのコンテンツが適切にレンダリングされません。
最終結果は、埋め込まれたパーシャルのコンテンツがレンダリングされた HTML に含まれることです (私のパーシャルは「部分的に」機能していると思います :-D )。
- パーシャルの名前も各行に含まれています
- パーシャルの式にデータが入力されていません
これは、レンダリングされる HTML です。部分的な名前の 3 行をtemplateBodyItemNumberPartial
以下に示します (部分的な名前は、出力の各行の前に付けられているようです) <span>
。
<div class="templateBodyItem">
templateBodyItemNumberPartial
templateBodyItemNumberPartial <span class="templateBodyItemNumber"></span>
templateBodyItemNumberPartial
this is my body text
<div class="templateBodyItemFooter">this is my footer text</div>
</div>
templateBodyItemNumberPartial
これは、部分を参照するメインのプリコンパイル済みテンプレートです。
{{! templates/nameWithPartial.handlebars }}
{{! precompiled via: handlebars ./templates/nameWithPartial.handlebars -f external_template_with_partial.js }}
<div class="templateBodyItem">
{{> templateBodyItemNumberPartial }}
{{ templateBodyItem }}
<div class="templateBodyItemFooter">{{ templateBodyFooter }}</div>
</div>
nameWithPartial
これは、パーシャルを定義/登録し、コンパイル済みのテンプレートを呼び出す .html ファイルです。
<script type="text/javascript" src="./handlebars-v2.0.0-alpha.4.js"></script>
<script type="text/javascript" src="./external_template_with_partial.js"></script>
<script id="templateBodyItemNumberPartial" type="text/x-handlebars-template">
<span class="templateBodyItemNumber">{{ templateBodyItemNumber }}</span>
</script>
var templateBodyObject = {
templateBodyItemNumber : 4 ,
templateBodyItem : 'this is my body text' ,
templateBodyFooter : 'this is my footer text'
};
// verify that the partial html is what I think it should be
console.log( $( '#templateBodyItemNumberPartial' ).html() );
//=> <span class="templateBodyItemNumber">{{ templateBodyItemNumber }}</span>
Handlebars.registerPartial( 'templateBodyItemNumberPartial' , $( '#templateBodyItemNumberPartial' ).html() );
var templateHtml = Handlebars.templates.nameWithPartial( templateBodyObject );
パーシャルがハンドルバーでどのように機能するかをテストするためだけに、埋め込まれたパーシャルを使用しようとしています。
この機能がサポートされているかどうかを誰かが確認できますか、またはパーシャルを参照するメイン テンプレートがプリコンパイルされている場合、プリコンパイルされたパーシャルを使用する必要がありますか?
どうもありがとう!
ところで、私はWin7 Pro 64ビットを実行していますが、うまくいけばそれは問題ではありません...