まだハンドルバーを習っているので、この質問が明確かどうかはわかりません。 私は人物オブジェクトの配列を持っています。私のテンプレートは、特定の人々に反復するまで、同じ構造のコンテナに配置された各人のイメージを保持するdivにはうまく機能します。Handlebarsテンプレートのdiv構造/スタイリングにユニークな変更を含めるにはどうすればいいですか?
一番上の行は、2つ目の行にラップする前に、合計4つの等しいサイズのイメージにレンダリングされます。どのようにテンプレートを作成するのか分かりません。私のテンプレートがうまく動作する4つの画像の行。この巨大なグリッドの下部には、さまざまなサイズのバリエーションがあります。また、私の把握する必要があるオブジェクトの配列の中の特定の人々にもバリエーションがあります。
チュートリアルから、私は部分的に助けてくれると思っていましたが、{{#each}}がすべての文脈で部分的な部分を適用するのを防ぐ方法はわかりませんでした。これを行うにはどうすればよいでしょうか、これを達成するためにどんなヘルパー/機能が必要ですか?
例コード:
HTML expected
<div class="person-image-grid">
..stuff
</div> (x4)
<div class="different-grid">
<div class="person-image-grid">
..stuff
</div>
<div class="half-width video">
A bigger div, about half the width of the page, with video of person
</div>
<div class="person-image-grid">
..stuff
</div>
</div>
<div class="person-image-grid">
..stuff
</div> (x4)
マイテンプレート
{{#each person}}
<div class="person-image-grid">
<div class="person-image-grid_picture">
<img class="person-image-grid_image" src="personImages/{{firstName}}_{{lastName}}/{{firstName}}{{lastName}}.jpg">
</div>
<p class="person-image-grid_name">{{firstName}} {{lastName}}</p>
</div>
{{/each}}
JS
function _templateGridModal() {
var templateGridScript = document.getElementById("student-image-grid-template").innerHTML,
parentGrid = document.getElementsByClassName("student-image-grid")[0];
var theTemplateGrid = Handlebars.compile(templateGridScript);
var obj = {
people: [
{"firstName": "Joe", "about": "stuff", "quote": "a quote here"},
{"firstName": "John", "about": "stuff" //etc},
{"firstName": "Mary", "about": "stuff" //etc},
{"firstName": "Tom", "about": "stuff" //etc}
//and so on
]
};
var theCompiledTemplateGrid = theTemplateGrid(obj);
parentGrid.innerHTML = theCompiledTemplateGrid;
}
コード例を設定すると、コードスニペットまたはjsfiddleを使用して –
@ Dejan.S、謝罪します。 JSビットを追加しました。ありがとう。 – BeerBeard