私はプログラミング、特にハンドルバーにまったく慣れていません。HTMLファイルにjqueryとハンドルバーの組み合わせをロードしたdivがあります。その上にタブがあります。タブをクリックしたときに、すべてのコンテンツを新しいコンテンツにリロードしたい。内容は似ていますが (構造は同じです)、ラベル、画像などを変更する必要があります。handlebars.js でパーシャルを使用しようとしました。これがサンプルコードです。
<script type="text/x-handlebars-template" id="all-handlebar">
{{#each tabs}}
<div id=tab{{@index}}>{{this.text}}</div>
{{/each}}
<div id="tab-content">{{> tabContentPartial}}
</script>
<script type="text/x-handlebars-template" id="tab-content-partial">
<div id="mycontent">
<div id="text">{{mycontent.text}}</div>
<div id="text">{{mycontent.image}}</div>
</div>
</script>
<script type="text/javascript">
source=$("#all-handlebar").html();
var template = Handlebars.compile(source);
Handlebars.registerPartial("tabContentPartial", $("#tab-content-partial").html())
var context = {
mycontent : {
text="something that has to change everytime I click on a different tab",
image="idem"
};
var html = template(context);
$("body").html(html);
</script>
最初はうまくロードされますが、タブをクリックすると、tab-content-partial スクリプトを部分的に再登録するように依頼しましたが、コード内で HTML ブロックに変更されたため、もう存在しません。部分的なスクリプトを新しいコンテンツで再利用してリロードするにはどうすればよいですか?
どうもありがとうございました !