私はプログラミングや特にハンドルバーには全く新しいです。私はjqueryとハンドルバーの組み合わせをHTMLファイルにロードしたdivを持っています。私はそれの上にタブがあります。タブにクリックがあると、すべてのコンテンツを新しいコンテンツにリロードする必要があります。内容は似ていますが(同じ構造)、ラベルや画像などは変更する必要があります。私はhandlebars.jsでpartialを使用しようとしました。 サンプルコードです。パーシャルをリロードするハンドルバー
<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>
これはよく最初の時間をロードしますが、私はタブをクリックしたときに、私は再registerPartialタブのコンテンツ部分のスクリプトに彼に尋ねると、それはHTMLブロックの右に変更されているので、それはもう存在しません。私のコードで。部分的なスクリプトを新しいコンテンツで再利用して再読み込みするにはどうすればよいですか?
ありがとうございました!
関連するコードを入力すると便利です。通常は、ハンドルバーテンプレートをコンパイルします。その後、あなたのデータを渡し、それはあなたのページに挿入するcreate htmlを返します。このコンパイルされたテンプレートは、異なるデータで再利用できます。 –
今はっきりしていますか?遅れて申し訳ありません、私はさまざまなソリューションを見てみました。 –